Python 我不知道';“我不明白为什么我需要输入”;q";问题生成n次,退出程序

Python 我不知道';“我不明白为什么我需要输入”;q";问题生成n次,退出程序,python,python-3.x,loops,recursion,Python,Python 3.x,Loops,Recursion,我不知道为什么我必须输入qn次生成的问题才能退出程序,当我只输入q一次时,我该怎么做才能使程序立即关闭 greetings=input(“你好,我该怎么称呼你?”) def再次生成或退出() 尽管如此: 选项=输入(“按任意键生成另一个问题或按Q退出”)。下限() 如果选项==“q”: 打破 生成问题() def生成_问题(): 打印(random\u questions\u dict.get((random.randint(1,30))) 再次生成\u\u或\u退出() 尽管如此: greet

我不知道为什么我必须输入
q
n次生成的问题才能退出程序,当我只输入
q
一次时,我该怎么做才能使程序立即关闭

greetings=input(“你好,我该怎么称呼你?”)
def再次生成或退出()
尽管如此:
选项=输入(“按任意键生成另一个问题或按Q退出”)。下限()
如果选项==“q”:
打破
生成问题()
def生成_问题():
打印(random\u questions\u dict.get((random.randint(1,30)))
再次生成\u\u或\u退出()
尽管如此:
greetings2=输入(“您希望我生成一些问题吗”+问候语+”?”)。lower()
如果问候语2==“是”:
生成问题()
打破
elif问候语2==“否”:
打印(“待会儿见…”)
打破
其他:
打印(“请回答是或否”)
持续

如评论所示,选择迭代或递归。下面是一个递归示例

import random

random_questions_dict = {1: "why", 2: "what", 3: "when", 4: "which", 5: "how"}

def generate_questions():
    print(random_questions_dict.get((random.randint(1, 5))))
    option = input("Press any key to generate another question or Q to exit" ).lower()
    if option == "q":
        return
    generate_questions()


greetings = input("Hello, what should i call you? ")

while True:
    greetings2 = input("Do you want me to generate some questions "+greetings+"?").lower()
    
    if greetings2 == "yes":
        generate_questions()
        break
        
    elif greetings2 == "no":
        print("See you later...")
        break
    else:
        print("Please answer with yes or no")
        continue

“''问候语=输入(“你好,我该怎么称呼你?”)''是代码的第一部分,因为您的解决方案同时使用递归和迭代。选择其中一个。提示:选择迭代。