都不是难题,但我还没学懂,后面还有几题,有兴趣的可以帮我也看看,都是有偿的!
实现的代码、注释、运行结果截图如下,望采纳,有任何问题可以再沟通处理,谢谢
#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')
#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')
```
支持一下