L-茉遇 发表于 2021-8-30 12:16:31

while循环问题

代码
count = 3
password = '720'
while count:
    passwd = input('请输入密码:')
    if passwd == password:
      print('密码正确,进入程序')
      break
    elif '*' in passwd:
      print('请重新输入')
      continue
    else:
      print('密码错误')
    count = count - 1
运行结果没问题,但是while后加的条件不理解。
while 条件,且条件为真,
while count什么时候算假呢,或者说哪有真假之分,都没定义
            

逃兵 发表于 2021-8-30 12:20:01

每次输错了count都会-1
当count为0的时候就是假了

jackz007 发表于 2021-8-30 12:21:12

       count 不等于 0 为真。

L-茉遇 发表于 2021-8-30 12:36:00

逃兵 发表于 2021-8-30 12:20
每次输错了count都会-1
当count为0的时候就是假了

是系统默认的吗, 这个位置的数不能为0 ,因为上边没有设置 count>0

临时号 发表于 2021-8-30 12:45:39

'', 0, '0', False 为假
其余字符为真
while count 当 count 为 0 时退出循环

晴雨皆宜 发表于 2021-8-30 12:57:25

2楼正解。

逃兵 发表于 2021-8-30 13:33:27

L-茉遇 发表于 2021-8-30 12:36
是系统默认的吗, 这个位置的数不能为0 ,因为上边没有设置 count>0

bool类型是int类型的子集
只要非0,非空集合,则为真
0,空集则为假

所以可以直接写个变量作为条件

清少呐 发表于 2021-8-31 08:52:42

count不等于0为真

Mr-Print 发表于 2021-8-31 09:28:38

while循环只会在后面的条件为Ture时才会运行
没输入一次就减一,
直到count为0的时候或者正确的时候退出程序
                              -----------来自新手的无知发言{:10_279:}{:10_279:}

L-茉遇 发表于 2021-8-31 12:32:38

Mr-Print 发表于 2021-8-31 09:28
while循环只会在后面的条件为Ture时才会运行
没输入一次就减一,
直到count为0的时候或者正确的时候退出 ...

~
页: [1]
查看完整版本: while循环问题