x = bool(input ( "Write True or False\n"))
if x is True :
print("its true")
elif x is False :
print ("its false")
当我写真或假时,我总是得到"它的真实"。我希望程序说"它的错误"当我输入False时。
答案 0 :(得分:1)
转换为bool
时会遇到问题,因为从技术上讲,任何非空字符串都会评估为True
>>> bool('True')
True
>>> bool('False')
True
>>> bool('')
False
您可以使用ast.literal_eval
>>> from ast import literal_eval
>>> literal_eval('True')
True
>>> literal_eval('False')
False
否则你必须自己比较实际的字符串
x = input("Write True or False\n")
if x in ('True', 'true'):
print("its true")
elif x in ('False', 'false'):
print ("its false")
else:
print("don't know what that is")
答案 1 :(得分:0)
我只是比较字符串:
x = input("Write True or False\n")
if x == "True":
print("its true")
elif x == "False":
print ("its false")
else:
print("don't know what that is")