注册 登录
编程论坛 Python论坛

字符串定义出错

mayhu 发布于 2019-05-24 22:18, 2057 次点击
""
bmr 基础代谢率计算
"""
def main():
    y_or_n = input('是否退出程序:')
while   y_or_n == 'n':
    # 性别
 gender = input('请输入您的性别:')
    # 体重 (kg)
 weight = float(input('体重:'))
    # 身高 (cm)
 hight = float(input('身高:'))
    # 年龄
 age = int(input ('年龄:'))
if gender == "男":
    bmr = 13.7*weight + 5.0*hight - 6.8*age + 66
elif gender =="女":
    bmr = 9.6*weight + 1.8*hight - 4.7*age + 656
else :
    bmr = -1
if bmr != -1:
     print("基础代谢率 :",bmr)
else :
    print("暂不支持该性别")
"""gender = "男"
weight = 70
height = 175
age = 24
if gender == "男":
    bmr = 13.7*weight + 5.0*height - 6.8*age + 66
elif gender =="女":
    bmr = 9.6*weight + 1.8*height - 4.7*age + 656
else :
    bmr = -1
    """
y_or_n == intput("是否退出程序(y/n)?:")
if __name__ =="__main__":
    main()
报错 代码 :    while   y_or_n == 'n':
NameError: name 'y_or_n' is not defined
3 回复
#2
wp2319572019-05-27 10:36
注释请使用三引号 是三个单引号 不是三个双引号
二。严格控制缩进
#3
走你53872019-05-28 08:36
变量未定义
#4
冬夜微风2019-05-31 01:25
多行注释单引号和双引号都是可以的 但是一定是三个成对出现。不过我知道你里是复制漏掉了。
你的代码出错就是在第6行的缩进
while   y_or_n == 'n':
这个while语句是main函数下面的代码 一定不要忘了缩进,
不然 main函数到
    y_or_n = input('是否退出程序:')
这一句就算结束了。
python跟别的语言不一样,函数、循环之类的都是靠缩进来定义的,不象其它的语言,有大括号的结束符。
1