首页 > 解决方案 > 制作年龄猜测程序时的 Python 代码错误

问题描述

我正在制作一个需要 3 个输入的年龄猜测程序。第一个输入:1 到 10 之间的数字。第二个输入:出生年份。第三个输入:真或假。我的python程序有什么问题?告诉我如何从用户那里获取布尔输入?

x = input("Enter your selected number")

y = input("Year of Birth")

z = input()

if z = True:
    print (100 * int(x)) + 2019 - int(y)
elif:
    print (100 * int(x)) + 2018 - int(y)

标签: python

解决方案


这里的问题很可能是因为运算符'='用于归因于不测试变量之间的相等性。

例如,您需要使用“==”:

if z == True:
...

此外,作为@rdas 提到的注意事项,即使您在变量 z 中从用户那里获取输入,输入仍然是字符串。考虑到即使您从键盘输入“False”,仍将被视为布尔值的 True。

bool('True') ==> True
bool('False') ==> True

因此,您应该测试字符串关键字的输入,而不是检查 True/False,例如“yes/no”


推荐阅读