python - 制作年龄猜测程序时的 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)
解决方案
这里的问题很可能是因为运算符'='用于归因于不测试变量之间的相等性。
例如,您需要使用“==”:
if z == True:
...
此外,作为@rdas 提到的注意事项,即使您在变量 z 中从用户那里获取输入,输入仍然是字符串。考虑到即使您从键盘输入“False”,仍将被视为布尔值的 True。
bool('True') ==> True
bool('False') ==> True
因此,您应该测试字符串关键字的输入,而不是检查 True/False,例如“yes/no”
推荐阅读
- javascript - 在打字稿中找到数组值的交集
- python-3.x - 从子文件夹中的文件动态导入同名类
- gnuplot - 如何使用 Gnuplot 打印带有误差线和不同线点的 3D 图(splot)
- java - 如何使用 JUnit5 参数化测试 CSV 文件源?
- python - 如何在路径中使用变量?
- ckeditor - 使焦点在 CK Editor 5 createUIElement 中起作用
- android - Nativescript App - 在 Webview 中加载本地 HTML/JS/CSS
- kubernetes - (kubernetes/GKE) 如何根据客户端 IP 地址在 istio 中路由流量?
- swift - 在swift中,如何使用结构的唯一实例来实现tableView?
- vb.net - 带有回调的 Sqlite 备份数据库