大大的小灵通 发表于 2021-9-1 23:18:13

为什么if语句的条件设为0后还是打印True的内容

a=input()                               #a输入为0
if a:
    print('yes')

else: print('no')

小伤口 发表于 2021-9-1 23:22:25

本帖最后由 小伤口 于 2021-9-1 23:34 编辑

因为input默认输出是字符串>>> a=input()
a
>>> a
'a'
>>> type(a)
<class 'str'>

>>>
你可以这样
a=int(input()   )
非0的数,列表字符串这些其实都是True

benyazi 发表于 2021-9-1 23:24:44

input默认是str
你输入0其实并不是0

大大的小灵通 发表于 2021-9-2 09:06:01

小伤口 发表于 2021-9-1 23:22
因为input默认输出是字符串

非0的数,列表字符串这些其实都是True

谢谢

大大的小灵通 发表于 2021-9-2 09:06:35

benyazi 发表于 2021-9-1 23:24
input默认是str
你输入0其实并不是0

谢谢

大大的小灵通 发表于 2021-9-2 09:08:16

benyazi 发表于 2021-9-1 23:24
input默认是str
你输入0其实并不是0

谢谢
页: [1]
查看完整版本: 为什么if语句的条件设为0后还是打印True的内容