Python3跳流

2024-09-28 20:51:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我的python3持久密码锁有点问题。它按预期/需要存储和检索密码,但我决定插入一个“backout”检查,这样如果输入的信息不正确,您就可以返回并重新输入。它似乎没有容易识别的原因跳过这张支票

elif choice == 2:
  conti = False
  while conti != True:
    print('Enter an account and password to store')
    acc = input('Account: ')
    apass = input('Password: ')
    print('Account: ' + acc + '\n' + 'Password: ' + apass)
    print('Correct?')
    corr = input(': ')
    corr.lower()
    if corr == 'yes' or 'ye' or 'y':
      print('Making Changes persistent')
      # Shelve Stuff
      conti = True
      break
    else:
      print('Please make appropriate changes.')
      continue

当我运行这段代码时,不管corr变量是什么,它都会使更改保持不变。这不是我想要的。我试图在一个elif语句中显式地声明no选项,它也跳过了这些选项。是多个'或'语句抛出它,还是有其他事情,我应该知道


Tags: ortrueinput选项accountpassword语句python3
1条回答
网友
1楼 · 发布于 2024-09-28 20:51:02

这句话没有达到你的期望:

 if corr == 'yes' or 'y' or 'y':

这意味着“corr是否等于‘yes’?不是的!那么,y值是真的吗?它是!我们开始吧!”注意,这并不是检查corr是否等于y,而是检查字符串y是否真实

直接的方法是:

if corr == 'yes' or corr == 'y':

但你也可以这样做:

if corr in ['yes', 'y', 'Y', 'YES']:

或者类似的东西,包括更多的选择

相关问题 更多 >