简单的python代码重复else语句,我不知道';我不知道为什么

简单的python代码重复else语句,我不知道';我不知道为什么,python,function,if-statement,iteration,Python,Function,If Statement,Iteration,因此,我是python新手,刚刚开始创建一个带有菜单系统的基本程序,我将添加到其中,以帮助在一个文件中显示我在python方面的进展和知识,并帮助我更熟悉多个函数、函数调用函数等 我的程序在输入sting后重复else语句,这将使if语句正确 看一看: def menuReturn(): returnAns = input("Would you like to return to the menu? [y/n] ") if returnAns.lower == "y": print("

因此,我是python新手,刚刚开始创建一个带有菜单系统的基本程序,我将添加到其中,以帮助在一个文件中显示我在python方面的进展和知识,并帮助我更熟悉多个函数、函数调用函数等

我的程序在输入sting后重复else语句,这将使if语句正确

看一看:

def menuReturn():
returnAns = input("Would you like to return to the menu? [y/n] ")

if returnAns.lower == "y":
    print("Returning you to the menu")
    print("")
    print("")
    print("")
    menu()

elif returnAns.lower == "n":
    print("Exiting...")

else:
    print("Please repeat the answer")
    menuReturn()

def askName():
    name = input("What is your name? ")
    print(name + "? Thats a beautiful name!")
    menuReturn()

def menu(menuAnswer):
    if menuAnswer.lower == "askname":
        print("Good Choice!")
        askName()

    else:
        print("Please try again")
        menu(menuAnswer)

print("Welcome to the menu!")
print("")
print("Please enter a keyword from the following")
print("")                                                                       
#Add items here!
print("-askName")
menuAnswer = input("")
menu(menuAnswer)
我不得不添加一些不必要的缩进来发布这个问题,对此我深表歉意

请给出一个简单的答案,因为我的编程“行话”没有满负荷

希望很快收到你的来信,
John Fletcher

returnAns.lower
返回字符串内置的lower函数,而不是调用它的结果。这就是为什么
else
出现重复,如果
条件正确失败。您想调用下面的函数:

returnAns.lower() # returns the lowercase returnAns

@理论上是正确的。您希望对字符串变量的函数调用是returnAns.lower()而不是returnAns.lower

区别在于str.lower()返回一个包含所有小写字符的字符串,而str.lower根据python字符串dosumentation不是有效的运算符: