PhoneValue=0
if (condition== "new"):
PhoneValue=int(PhoneValue+10)
else:
PhoneValue=int(PhoneValue+9)
if GPS==bool(input("true")):
PhoneValue=int(PhoneValue+1)
else:
PhoneValue=int(PhoneValue)
if WiFi==eval(bool(input("true"))):
PhoneValue=int(PhoneValue+1)
else:
PhoneValue=int(PhoneValue)
if camera==eval(bool(input("true"))):
PhoneValue=int(PhoneValue+1)
else:
PhoneValue=int(PhoneValue)
global PhoneValue
这是我的密码。我应该能够输入条件,全球定位系统,摄像头,和WiFi和代码评估输入,并给出每个条件的分数。如果手机是新的,得10分,如果用了,得9分。对于GPS、摄像头和WiFi,它希望我使用布尔值,要么给它一个正确的分数,要么不给它假分数。我想知道如何将输入字符串转换为布尔值,以便将其添加到phone值中?在
这个代码有很多错误。首先,
^{bq}$input()
command is defined这意味着对
input("true")
的调用在控制台上打印“true”,并等待一行输入。那不是你希望的。在你对}这两个都不危险,但是由于您已经有了一个布尔值,所以对它的求值没有任何作用。在
eval
的使用不好。几乎每次在用户输入上使用eval
都是一个问题。但你在这里意外地救了自己:eval(bool(text))
是多余的。bool()
唯一可以返回True
或{将整数加法的结果转换为
int()
是没有用的,if/else子句可以更清楚地写为:不需要
^{pr2}$else
子句。不幸的是,这几乎没有机会得到正确的输入。如果我输入“True”,那么if
块将被触发。如果我写“no”、“false”或“JosEduSol”也会触发它,它们也会被评估为True
。最后的宣言最后一行完全没有做什么。实际上,您可能应该忘记
global
的存在,因为大多数人都不正确地使用它。在代码中有更多的错误,你应该从老师那里得到帮助或者得到更好的学习资源。在
相关问题 更多 >
编程相关推荐