【问题标题】:How would I fix this 'if' statement error?我将如何解决这个“if”语句错误?
【发布时间】:2020-09-28 17:47:24
【问题描述】:

我正在尝试为健康课程制作一个 BMI 计算器。我还没有任何计算,因为我只是在开始测试菜单。出于某种原因,每次我尝试运行代码时,它都会向我显示一个错误(显示在我到目前为止的代码下方)。我是 python 新手,所以这似乎是一个菜鸟错误。如果你能帮忙,那就太好了。

*my code below

    ans = input('''
***The Body Mass Index***
    1. I use Kilograms and Metres
    2. I'M AMERICAN!!!
    ''')
if ans==1
    m = input("Your height in Metres")
    kg = input("Your weight in Kilograms")
if ans==2
    print("Stawp yelling at me!!")
    inc = input("Your height in Inches")
    lbs = input("Your weight in Pounds")
else
    print("please try again with a valid input")

错误出现在第一个 if 语句之后:

 if ans==1

【问题讨论】:

  • if 语句后需要一个冒号,如if ans==1: 等。else 语句也是如此。此外,您必须将您的input() 转换为int,否则将ans 与一个进行比较将失败,因为该函数只会返回一个字符串。例如,您必须比较 ans=='1'

标签: python if-statement input menu


【解决方案1】:

您的 if/else 语句后缺少冒号。此外,input() 返回 string,而不是 int。试试这个:

if int(ans)==1:
    m = input("Your height in Metres")
    kg = input("Your weight in Kilograms")
elif int(ans)==2:
    print("Stawp yelling at me!!")
    inc = input("Your height in Inches")
    lbs = input("Your weight in Pounds")
else:
    print("please try again with a valid input")

【讨论】:

  • 是的,知道了。现已编辑。
【解决方案2】:

if 和 else 后面需要冒号。

您的 else 将捕获 ans=1,因为它仅适用于 ==2。

else 应该是 if ans not in range(1..2): 或类似的东西。

【讨论】:

    猜你喜欢
    • 2018-07-06
    • 1970-01-01
    • 1970-01-01
    • 2019-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-25
    • 1970-01-01
    相关资源
    最近更新 更多