简单python这些函数怎么写,急!!!

img

都不是难题,但我还没学懂,后面还有几题,有兴趣的可以帮我也看看,都是有偿的!

实现的代码、注释、运行结果截图如下,望采纳,有任何问题可以再沟通处理,谢谢

#1
# 定义一个名为stringtownum的函数,该函数接收用逗号分隔的数字字符串参数,并基于字符串参数返回整数列表
def stringtownum(str):
    # 将字符串按逗号分隔,并转换为整数列表
    numbers = list(map(int, str.split(',')))
    # 返回解析出来的整数列表
    return numbers
# 测试stringtownum函数
numbers = stringtownum('5,6,7,8')
print(f'The numbers are: {numbers}')

#2
# 定义一个名为n_w_h_input的函数,该函数接收一个后跟两个浮点数的字符串
def n_w_h_input(strings):
    # 定义两个浮点数变量,用来保存解析出来的数字
    number1, number2 = map(float, strings.split())
    # 返回解析出来的两个浮点数
    return (number1, number2)
# 测试n_w_h_input函数
number1, number2 = n_w_h_input('5.5 6.6')
print(f'The numbers are: {number1} {number2}')

#3
# 定义一个名为n_w_h_output的函数,该函数接收一个后跟两个浮点数的字符串
def n_w_h_output(strings):
    # 定义一个字符串变量,用来保存字符串中的第一个参数
    name = strings.split()[0]
    # 定义两个浮点数变量,用来保存解析出来的数字
    weight, height = map(float, strings.split()[1:])
    # 打印解析出来的参数
    print(f"{name}'s weight is {weight} and height is {height}")
# 测试n_w_h_output函数
n_w_h_output('sam 69.7 1.9')

#4
# 定义一个名为get_bmi的函数,该函数接收一个字符串,并计算出该字符串中信息对应的人的BMI值
def get_bmi(strings):
    # 定义一个字符串变量,用来保存字符串中的第一个参数
    name = strings.split()[0]
    # 定义两个浮点数变量,用来保存解析出来的数字
    weight, height = map(float, strings.split()[1:])
    # 计算BMI值
    bmi = weight / (height**2)
    # 打印BMI值
    print(f"{name}'s BMI is {bmi:.2f}")
# 测试get_bmi函数
get_bmi('sam 69.7 1.9')

#5
# 定义一个名为get_bmi_classification的函数,该函数接收一个字符串,并计算出该字符串中信息对应的人的BMI值,并将BMI值分类为过轻、正常、过重、肥胖或极度肥胖
def get_bmi_classification(strings):
    # 定义一个字符串变量,用来保存字符串中的第一个参数
    name = strings.split()[0]
    # 定义两个浮点数变量,用来保存解析出来的数字
    weight, height = map(float, strings.split()[1:])
    # 计算BMI值
    bmi = weight / (height**2)
    # 定义BMI分类字典,用来保存不同的BMI值范围和对应的BMI分类
    bmi_classification = {
        "Underweight": (0, 18.5),
        "Normal": (18.5, 25),
        "Overweight": (25, 30),
        "Obese": (30, 35),
        "Extremely Obese": (35, float("inf")),
    }
    # 遍历BMI分类字典,根据BMI值分类
    for classification, (lower, upper) in bmi_classification.items():
        if lower <= bmi <= upper:
            # 打印BMI值和分类
            print(f"{name}'s BMI is {bmi:.2f} and is classified as {classification}")
            break
# 测试get_bmi_classification函数
get_bmi_classification('sam 69.7 1.9')

img



#1
# 定义一个名为stringtownum的函数,该函数接收用逗号分隔的数字字符串参数,并基于字符串参数返回整数列表
def stringtownum(str):
    # 将字符串按逗号分隔,并转换为整数列表
    numbers = list(map(int, str.split(',')))

    # 返回解析出来的整数列表
    return numbers

# 测试stringtownum函数
numbers = stringtownum('5,6,7,8')
print(f'The numbers are: {numbers}')


#2 
# 定义一个名为n_w_h_input的函数,该函数接收一个后跟两个浮点数的字符串
def n_w_h_input(str):
    # 创建一个字符串流对象,用来解析字符串中的数字
    stringstream ss(str);

    # 定义两个浮点数变量,用来保存解析出来的数字
    float number1, number2;

    # 通过字符串流解析字符串中的两个浮点数
    ss >> number1 >> number2;

    # 返回解析出来的两个浮点数
    return (number1, number2);

# 测试n_w_h_input函数
number1, number2 = n_w_h_input('5.5 6.6')
print(f'The numbers are: {number1} {number2}')

#3
# 定义一个名为n_w_h_output的函数,该函数接收一个后跟两个浮点数的字符串
def n_w_h_output(str):
    # 创建一个字符串流对象,用来解析字符串中的数字
    stringstream ss(str);

    # 定义一个字符串变量,用来保存字符串中的第一个参数
    string name;

    # 定义两个浮点数变量,用来保存解析出来的数字
    float weight, height;

    # 通过字符串流解析字符串中的三个参数
    ss >> name >> weight >> height;

    # 打印解析出来的参数
    cout << name << "'s weight is " << weight << " and height is " << height << endl;

# 测试n_w_h_output函数
n_w_h_output('sam 69.7 1.9')

#4
# 定义一个名为calcar的函数,该函数接收表示体重和身高的两个浮点数
def calcar(weight, height):
    # 计算BMI
    bmi = weight / height / height * 10000

    # 将BMI四舍五入到小数点后1位
    bmi = round(bmi, 1)

    # 返回计算出来的BMI
    return bmi

# 测试calcar函数
bmi = calcar(69.7, 1.9)
print(f'The BMI is: {bmi}')

#5
# 定义一个名为bmicat的函数,该函数接收表示BMI的浮点数
def bmicat(bmi):
    # 根据BMI的值,返回相应的体重类别
    if bmi < 18.5:
        return 'Underweight'
    elif bmi >= 18.5 and bmi < 24.9:
        return 'Healthy'
    elif bmi >= 25 and bmi < 29.9:
        return 'Overweight'
    elif bmi >= 30 and bmi < 39.9:
        return 'Obese'
    else:
        return 'Severely obese'

# 测试bmicat函数
bmi_category = bmicat(20.0)
print(f'The BMI category is: {bmi_category}')

#1
# 定义一个名为stringtownum的函数,该函数接收用逗号分隔的数字字符串参数,并基于字符串参数返回整数列表
def stringtownum(str):
    # 将字符串按逗号分隔,并转换为整数列表
    numbers = list(map(int, str.split(',')))

    # 返回解析出来的整数列表
    return numbers

# 测试stringtownum函数
numbers = stringtownum('5,6,7,8')
print(f'The numbers are: {numbers}')


#2 
# 定义一个名为n_w_h_input的函数,该函数接收一个后跟两个浮点数的字符串
def n_w_h_input(str):
    # 创建一个字符串流对象,用来解析字符串中的数字
    stringstream ss(str);

    # 定义两个浮点数变量,用来保存解析出来的数字
    float number1, number2;

    # 通过字符串流解析字符串中的两个浮点数
    ss >> number1 >> number2;

    # 返回解析出来的两个浮点数
    return (number1, number2);

# 测试n_w_h_input函数
number1, number2 = n_w_h_input('5.5 6.6')
print(f'The numbers are: {number1} {number2}')

#3
# 定义一个名为n_w_h_output的函数,该函数接收一个后跟两个浮点数的字符串
def n_w_h_output(str):
    # 创建一个字符串流对象,用来解析字符串中的数字
    stringstream ss(str);

    # 定义一个字符串变量,用来保存字符串中的第一个参数
    string name;

    # 定义两个浮点数变量,用来保存解析出来的数字
    float weight, height;

    # 通过字符串流解析字符串中的三个参数
    ss >> name >> weight >> height;

    # 打印解析出来的参数
    cout << name << "'s weight is " << weight << " and height is " << height << endl;

# 测试n_w_h_output函数
n_w_h_output('sam 69.7 1.9')

#4
# 定义一个名为calcar的函数,该函数接收表示体重和身高的两个浮点数
def calcar(weight, height):
    # 计算BMI
    bmi = weight / height / height * 10000

    # 将BMI四舍五入到小数点后1位
    bmi = round(bmi, 1)

    # 返回计算出来的BMI
    return bmi

# 测试calcar函数
bmi = calcar(69.7, 1.9)
print(f'The BMI is: {bmi}')

#5
# 定义一个名为bmicat的函数,该函数接收表示BMI的浮点数
def bmicat(bmi):
    # 根据BMI的值,返回相应的体重类别
    if bmi < 18.5:
        return 'Underweight'
    elif bmi >= 18.5 and bmi < 24.9:
        return 'Healthy'
    elif bmi >= 25 and bmi < 29.9:
        return 'Overweight'
    elif bmi >= 30 and bmi < 39.9:
        return 'Obese'
    else:
        return 'Severely obese'

# 测试bmicat函数
bmi_category = bmicat(20.0)
print(f'The BMI category is: {bmi_category}')

def stringToNum(para):
    return list(eval(para))

def n_w_h_input(para):
    t = para.split(',')
    return (t[0], ) + tuple(map(lambda x: round(float(x), 1), t[1:]))

def n_w_h_output(para):
    t = n_w_h_input(para)
    return f"{t[0]}'s weight is {t[1]} and his/her height is {t[2]}"

def calcBMI(weight, height):
    return round(weight / height ** 2 * 10000, 1)


def bmiCat(bmi):
    if bmi < 18.5:
        return 'Underweight'
    elif 18.5<= bmi <= 24.9:
        return 'Healthy'
    elif 25 <= bmi <= 29.9:
        return 'Overweight'
    elif 30 <= bmi <= 39.9:
        return 'Obese'
    else :
        return 'Severely obese'

result1 = stringToNum('2,3,4,5')
print(result1)

result2 = n_w_h_input('Sam,69.73,1.94')
print(result2)

result3 = n_w_h_output('Sam,69.7,1.9')
print(result3)

result4 = calcBMI(69.7, 190)
print(result4)

result5 = bmiCat(28)
print(result5)

--result
[2, 3, 4, 5]
('Sam', 69.7, 1.9)
Sam's weight is 69.7 and his/her height is 1.9
19.3
Overweight



如有帮助,望采纳


```c
#1
# 定义一个名为stringtownum的函数,该函数接收用逗号分隔的数字字符串参数,并基于字符串参数返回整数列表
def stringtownum(str):
    numbers = list(map(int, str.split(',')))
    return numbers
numbers = stringtownum('5,6,7,8')
print(f'The numbers are: {numbers}')
#2
# 定义一个名为n_w_h_input的函数,该函数接收一个后跟两个浮点数的字符串
def n_w_h_input(strings):
    number1, number2 = map(float, strings.split())
    return (number1, number2)
number1, number2 = n_w_h_input('5.5 6.6')
print(f'The numbers are: {number1} {number2}')
#3
# 定义一个名为n_w_h_output的函数,该函数接收一个后跟两个浮点数的字符串
def n_w_h_output(strings):
    name = strings.split()[0]
    weight, height = map(float, strings.split()[1:])
    print(f"{name}'s weight is {weight} and height is {height}")
n_w_h_output('sam 69.7 1.9')
#4
# 定义一个名为get_bmi的函数,该函数接收一个字符串,并计算出该字符串中信息对应的人的BMI值
def get_bmi(strings):
    name = strings.split()[0]
    weight, height = map(float, strings.split()[1:])
    bmi = weight / (height**2)
    print(f"{name}'s BMI is {bmi:.2f}")
get_bmi('sam 69.7 1.9')
#5
# 定义一个名为get_bmi_classification的函数,该函数接收一个字符串,并计算出该字符串中信息对应的人的BMI值,并将BMI值分类为过轻、正常、过重、肥胖或极度肥胖
def get_bmi_classification(strings):
    name = strings.split()[0]
    weight, height = map(float, strings.split()[1:])
    bmi = weight / (height**2)
    bmi_classification = {
        "Underweight": (0, 18.5),
        "Normal": (18.5, 25),
        "Overweight": (25, 30),
        "Obese": (30, 35),
        "Extremely Obese": (35, float("inf")),
    }
    # 遍历BMI分类字典,根据BMI值分类
    for classification, (lower, upper) in bmi_classification.items():
        if lower <= bmi <= upper:
            # 打印BMI值和分类
            print(f"{name}'s BMI is {bmi:.2f} and is classified as {classification}")
            break
# 测试get_bmi_classification函数
get_bmi_classification('sam 69.7 1.9')


```

支持一下