Python:我的程序无法按预期工作?

时间:2013-08-04 05:43:36

标签: python function recursion input indentation

这是Python。

您好,我的程序运行完美,编译没有错误但是当我运行下面的第二个选项时,它什么也没做。 'recursion'函数不会运行,所有打印输出的函数都是“无条件选择一个选项:”。我错过了某处的缩进或者我忘了包含一些内容吗?

selection = 0

while selection != 3:

    #This is printed out infinitely.
    selection = int(input("Select an option: "))

#Second Option
elif selection == 2:
    def recursion():
        myString = str(input("Enter your string: "))
        if not myString.replace('()', ''):
            print("The string is even.")
        else:
            print("The string is not even.")

1 个答案:

答案 0 :(得分:1)

我认为你在这里误解了一些结构。

while selection != 3表示下面的代码(和缩进的)会一直重复运行,直到selection == 3

结构中不使用elif。这用于条件结构(即if/elif/else)。

你可能想要:

selection = 0
def recursion():
    myString = str(input("Enter your string: "))
    if not myString.replace('()', ''):
        print("The string is even.")
    else:
        print("The string is not even.")

while selection != 3:
    selection = int(input("Select an option: "))
    if selection == 2:
        recursion()