输入0当做字符串,你需要先转换为整型,再转换为布尔型吧
has_ticket = bool(int(input("是否持有车票:")))
同学,你现在跟的是《黑马程序员》的课吧,这个我看过,我讲几点啊。
1.使用input()函数输入的是字符串,如果后面跟整型或者布尔型做比较或运算,要进行类型转换,比如int(input())转化为整型、bool(input())转换为布尔型
2.如果还有什么不懂的,可以看我的博客,你会有收获的,也可以私信我。
把h_t=bool(input("w"))换成 h_t=bool(int(input("w")))
有可能0是字符串类型的或者你多打了空格,所以是True,所以第一个if会被执行,而第二个if,因为10<=20,所以下面也被执行了,因此输出pass
input返回的都是字符串,所以返回了'0',可以输入空也就是直接回车
has_ticket=int(input("是否持有车票:"))
knife_length=int(input("持有刀的长度:"))
if has_ticket>0:
if knife_length<=20:
print("pass")
else:
print("no pass")
else:
print("no pass")
“快乐鹦鹉”(我发文回答时页面没有显示“快乐鹦鹉”的回答,才发现他是最早回复的,我原来没看见)和“梦回元悟”提到的方法也可行,随你自己喜欢
has_ticket = bool(int(input("是否持有车票:")))
knife_length=int(input("持有刀的长度:"))
if has_ticket:
if knife_length<=20:
print("pass")
else:
print("no pass")
else:
print("no pass")