147652937 发表于 2022-11-16 17:19:37

新人一个小问题

各位大佬,这个answer为什么可以直接空呢?不应该像我那样把密码输进来么
psw= '3435'
count = 3
answer = ' '
while count > 0 and answer != psw:
    answer = input("请输入密码:")
    if '*' in answer:
      print('密码中不能含有"*"号!您还有', count, '次机会!', end='')
    elif answer != psw:
      count -= 1
      print("密码输入错误!您还有", count, "次机会", end='')
    else:
      print("密码正确,进入程序...")

而我习惯直接把sec 列出来,但是就是不理解为空

n = 3
sec = 123456
while n > 0 and sec != "123456":
    sec =input("输入密码:")
    if "*" in sec:
      print("密码中不能含有'*'号,你还有", n,"次机会!请重新输入:")
    elif sec != "123456":
      n = n - 1
      print("密码错误,你还有", n ,"次机会!end=''")
      
    else:
      print("对了")

147652937 发表于 2022-11-16 17:20:27

刚学几天,属于一看就会,一学就废那种{:10_254:}

jackz007 发表于 2022-11-16 18:01:16

本帖最后由 jackz007 于 2022-11-16 18:15 编辑

psw= '3435'
count = 3
answer = ' '
      之所以让 answer 为空是为了刻意与 psw 保持距离(不相等),以便可以越过下面 while 的条件门槛,顺利进入循环。
while count > 0 and answer != psw:

sfqxx 发表于 2023-3-11 10:50:29

这一句answer = ' '是为了与正确密码保持不相等,
同时也避免了出现无法调用的情况,
顺利进入循环
页: [1]
查看完整版本: 新人一个小问题