def main():
y_or_n = input('是否退出程序y/n?')
while y_or_n != 'y':
str_imfor = input('请您输入性别,体重(kg),身高(cm),年龄用空格隔开:')
list_imfor = str_imfor.split(' ')
gender = list_imfor[0]
weight = float(list_imfor[1])
height = float(list_imfor[2])
age = int(list_imfor[3])
if gender =='男':
bmr = (13.7*weight)+(5*height)-(6.8*age)+66
elif gender =='女':
bmr = (9.6 * weight) + (1.8 * height) - (4.7 * age) + 655
else:
bmr = -1
if bmr != -1:
print('基础大卡={}',bmr)
else:
print('暂时不支持该性别')
print()
y_or_n = input('是否退出程序y/n?')
if name == 'main':
main()
你的程序缺少缩进,根本没法看,而且也不知道你的输入是什么。
没有输出应该是你代码执行的路径上没有出现要输出的东西。比如说
if bmr != -1:
你这个写在哪里了,它是不是整个写在了前面的else里面。
你输入了什么等等。
建议你学会调试或者在程序里加上中间输出看下代码怎么执行的。
if name == 'main':
这个要改成 if __name__ == '__main__':
另外需要对输入有效性做检查, 否则程序会抛异常
def main():
y_or_n = input('是否退出程序y/n?')
while y_or_n != 'y':
str_imfor = input('请您输入性别,体重(kg),身高(cm),年龄用空格隔开:')
list_imfor = str_imfor.split(' ')
print(list_imfor)
gender = list_imfor[0]
print(gender)
weight = float(list_imfor[1])
print(weight)
height = float(list_imfor[2])
print(height)
age = int(list_imfor[3])
print(age)
if gender =='男':
bmr = (13.7*weight)+(5*height)-(6.8*age)+66
elif gender =='女':
bmr = (9.6 * weight) + (1.8 * height) - (4.7 * age) + 655
else:
bmr = -1
if bmr != -1:
print("基础大卡={",bmr,'}')
else:
print('暂时不支持该性别')
y_or_n = input('是否退出程序y/n?')
'男 80 180 16'
if __name__ == '__main__':
main()