我只是好奇做这样的事情是不是坏事:
if input("Continue? Enter yes or no: ").lower() == "yes":
# Continue code
else:
# Else code
我有点喜欢这样,因为你不需要创建一个全新的变量,但这是不是因为任何原因而不受欢迎?如果在这个例子中还不错,还有其他情况会不好吗?我还没有看到任何这方面的例子,所以我不确定。
答案 0 :(得分:2)
嗯,问题是,为什么创建一个新名称是一个问题,如果它会使事情更清晰,更容易维护?如果您将来需要进行更复杂的验证,该怎么办?如果你需要在用户输入上做更多工作而不仅仅是降低它呢?
当然,您的代码没有任何问题,但只有当用户键入yes或no时它才有效。但是,如果用户键入一些无效数据会发生什么?然后,您需要一些名称来绑定到您的用户输入:
while True:
user_input = input("Type yes or no: ").lower()
if user_input == 'yes':
# Do something
elif user_input == 'no':
# Don't do something
else:
continue
否则,你会与“' no'在elif声明中?在您的示例中,如果用户输入" Hell yes,我想垃圾邮件和垃圾邮件!"他不会吃早餐。
你的问题可能引发很多观点,这些都是地雷。但是检查一下这里会出现什么,因为当然,它可以帮助你在Python中创建更好的代码。
答案 1 :(得分:1)
是的,这是一种不好的做法。保存变量确实不能为您节省任何费用。变量是帮助您完成工作的工具。不要避免让你的工作更轻松的事情。
使用变量的最大好处之一是它可以更容易地使用调试器,因为您可以在输入语句和条件之间设置断点。它还使代码更容易测试,因为你可以暂时用其他东西替换输入语句,而不会在逻辑中引入错误。
答案 2 :(得分:1)
我认为编写这样的代码不是一个好主意,因为如果你想添加一些关于用户输入的其他信息:
if input("Continue? Enter yes or no: ").lower().strip().replace("[","").replace("]","") == "yes":
您的代码太长而且不易阅读。