鱼C论坛

 找回密码
 立即注册
查看: 1601|回复: 1

[已解决]请大神 加个循环

[复制链接]
发表于 2023-4-14 23:49:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请问 如果 想在以下代码中加入循环(一直提问,输入数字后,会再问一次)应该怎么做
#计算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('肥胖')
最佳答案
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() 函数不能处理字符串,所以需要在将输入转换为浮点数之前检查退出条件。在这个例子中,我没有处理可能的异常,例如用户输入非数字字符。在实际应用中,你可能需要添加异常处理以防止程序崩溃。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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() 函数不能处理字符串,所以需要在将输入转换为浮点数之前检查退出条件。在这个例子中,我没有处理可能的异常,例如用户输入非数字字符。在实际应用中,你可能需要添加异常处理以防止程序崩溃。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-23 19:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表