如果声明不起作用,则在使用elif时

时间:2020-02-20 15:28:56

标签: python-3.x if-statement

不知道为什么这行不通。

Script Below: 
def dirpricker():
    prompt = '<>'
    print("Where do you want to install Deploy in the Current Dir?  (Y/n ")
    Userinput = input(prompt)
    print(Userinput)
    if Userinput == "Y" or "y":
        print("Not Ready Yet!")
    elif Userinput == "N" or "n":
        print("No")
    else:
        print("Please Choose either Yes Or No.")
        print(prompt)
dirpricker()

谢谢,马特

输出:即使输入了数字,仍未准备好

3 个答案:

答案 0 :(得分:0)

文件中的小错误,对于必须定义要继续进行的操作的条件中的每个条件,因此将其替换为if Userinput == "Y" or "y":而不是if Userinput == "Y" or Userinput == "y":or "y"就像询问if "y"会得出正确的结果。

def dirpricker():
    prompt = '>'
    print("Where do you want to install Deploy in the Current Dir?  (Y/n ")
    Userinput = input(prompt)
    print(Userinput)

    if Userinput == "Y" or Userinput == "y":
        print("Not Ready Yet!")
    elif Userinput == "N" or Userinput == "n":
        print("No")
    else:
        print("Please Choose either Yes Or No.")
        print(prompt)

dirpricker()

答案 1 :(得分:0)

您必须写

if Userinput == 'Y' or Userinput == 'y':

与否定答案相同。 您也可以像这样替换条件:

if Userinput.upper() == 'Y':

答案 2 :(得分:0)

您要使用以下语法之一:

if Userinput == "Y" or Userinput == "y":
if Userinput in ("Y", "y"):
if Userinput.lower() == "y":
if Userinput.upper() == "Y":

通常,我喜欢清理用户输入,以便可以忽略空格和大小写。例如,也许您想支持" y ""Y\n"之类的东西。在这种情况下,您需要使用额外的一行:

Userinput = Userinput.lower().strip()

仅检查

if Userinput == "y":
相关问题