当前位置: 首页 > 知识库问答 >
问题:

Elif和if不工作或我不理解[副本]

商畅
2023-03-14

我的代码是工作的,但是当我键入否,如果我想重试输入密码,它不工作;它只是进入输入密码行(第20行)。我尝试了多种方法来解决这个问题,但我就是做不到。

import time
import os

print ("Hello world.")
time.sleep(1)
print ("Waiting 5 seconds.")
time.sleep(5)
print ("You have waited 10 seconds.")
print ("Executing Chrome.")
time.sleep(1)
print ("Execution failed!")
password = input("Enter the execution password: ")
if password == 'password1234':
    os.system ('C:\\Users\\Harry\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe')
else:
    print ("Wrong password!")
    time.sleep(1)
    passretry = input("Do you want to try again? ")
    if passretry == 'yes' or 'Yes':
        passretry1 = input("Enter password: ") 
        if passretry1 == 'password1234':
            os.system ('C:\\Users\\Harry\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe')
    elif passretry == 'no' or 'No':
        print ("Closing...")
        time.sleep(1)
    else:
        print ("Wrong password.")
        time.sleep(.5)
        print ("Retry limit exceeded, closing.")
        time.sleep(1)

共有3个答案

桂梓
2023-03-14

你需要另一个完整的陈述:

passretry == 'yes' or passretry == 'Yes':

字符串Yes的值始终为True。

何甫
2023-03-14

这种情况:

if passretry == 'yes' or 'Yes':

表示“如果passretry=='yes'为真,或'yes'为真”<代码>“是”始终为真,因为非空字符串计为真。这就是为什么您总是选择第一条代码路径。

你需要把事情说清楚一点:

if passretry == 'yes' or passretry == 'Yes':

或者让你的代码更通用一点:

if passretry.lower() == 'yes':

这将允许人们大喊YES。)

佟嘉祯
2023-03-14
if passretry == 'yes' or 'Yes':

以上if语句被评估为:-

if (passretry == 'yes') or 'Yes':

现在,由于'Yes'的计算结果为True,因此,您的if语句始终为True,因此您必须始终输入新密码。

您需要将条件更改为:-

if passretry in ('yes', 'Yes'):

同样,以下elif也应更改为:-

elif passretry in ('no', 'No'):
 类似资料:
  • 问题内容: 好吧,我的代码可以正常工作,但是如果我想重试输入密码时键入No,它将无法正常工作。它只是进入输入密码行(第20行)。我尝试了多种方法来解决此问题,但我根本无法解决。 问题答案: if passretry == ‘yes’ or ‘Yes’: 上面的if语句评估为:- 现在,由于被评估为,所以您的陈述始终为,因此您总是必须输入新密码。 您需要将条件更改为:- 同样,以下内容应更改为:-

  • 本文向大家介绍Python if, elif, else,包括了Python if, elif, else的使用技巧和注意事项,需要的朋友参考一下 示例 在Python中,您可以定义一系列条件if,第一个条件用于elif其余条件,直到最后一个(可选)else用于其他条件条件未捕获的任何条件。 产出 Number is bigger than 2 使用else if代替elif会触发语法错误,因此是

  • 让我用一些代码更好地解释一下。 然后我有一个参数类,它处理服务器接收的数据,并将其存储在适当的变量中: 如果只有4个操作码,这看起来并不太糟糕,但实际上我的程序有12个操作码,所以这个长分支似乎是处理输入的一种糟糕方式。我习惯于使用C语言,在这种情况下,我会使用一个switch case,但它们在python中似乎不是什么东西,所以也许有一个更好的解决方案我只是不知道。有什么建议吗?

  • if/then/elif/else构造具有多个else分支。 语法 (Syntax) F#编程语言中if/then/elif/else语句的语法是 - if expr then expr elif expr then expr elif expr then expr ... else expr 例子 (Example) let a : int32 = 100 (* che

  • 数据库中有一个表'hit_count'只包含一列'count',我正尝试在该表中统计用户的命中数。问题是,每当我运行这段代码时,它会显示一条错误消息“Fatal error:Call to undefined function mysqli_result()”。请救命!!

  • 我有一个问题。我写了代码,需要指出数组的元素比数组的下一个元素大。您可以在输出图片上看到数组$arr应该只包含元素70,因为