382678922 发表于 2023-4-14 23:49:00

请大神 加个循环

请问 如果 想在以下代码中加入循环(一直提问,输入数字后,会再问一次)应该怎么做
#计算BMI值 BMI= 体重/(身高**2)a=体重 b=身高 c=BMI

#float把字符串转换为浮点数
a = float(input('你的体重'))
b = float(input('你的身高'))
c = a / (b ** 2)
#str 浮点数转换为数字
print('您的BMI为:'+str(c))

if c<=18.5:
    print('偏瘦')
elif 18.5 <= c <= 25:
    print('正常')
elif 25 <= c <= 30:
    print('偏胖')
else:
    print('肥胖')

isdkz 发表于 2023-4-14 23:50:47

你可以使用一个 while 循环来实现这个功能。在这个例子中,我们使用一个无限循环,然后在循环内部添加一个退出条件,当用户输入特定字符(例如 "q" 或 "quit")时退出循环。

while True:
    a = float(input('请输入你的体重(输入q退出程序):'))
    if a == 'q' or a == 'quit':
      break
    b = float(input('请输入你的身高(输入q退出程序):'))
    if b == 'q' or b == 'quit':
      break
    c = a / (b ** 2)
    print('您的BMI为:'+str(c))

    if c <= 18.5:
      print('偏瘦')
    elif 18.5 <= c <= 25:
      print('正常')
    elif 25 <= c <= 30:
      print('偏胖')
    else:
      print('肥胖')


注意:由于 float() 函数不能处理字符串,所以需要在将输入转换为浮点数之前检查退出条件。在这个例子中,我没有处理可能的异常,例如用户输入非数字字符。在实际应用中,你可能需要添加异常处理以防止程序崩溃。
页: [1]
查看完整版本: 请大神 加个循环