当前位置: 代码迷 >> python >> 将用户输入与方法Python进行比较的函数问题
  详细解决方案

将用户输入与方法Python进行比较的函数问题

热度:17   发布时间:2023-07-14 08:59:30.0

我编写了函数input_gather来收集用户的响应并将其与各种选项进行比较,然后根据响应运行方法。

def input_gather(option_1, option_2, option_3, method_1, method_2, method_3, choice):
    if choice.lower().strip() == option_1:
        method_1()
        return
    elif choice.lower().strip() == option_2:
        method_2()
        return
    elif choice.lower().strip() == option_3:
        method_3()
        return
    else:
        print("Error. Can you repeat that? ")
    return

每当我调用input_gather函数时,它将最终运行所有其他各种方法。 这是用于基于文本的冒险游戏。 完整的实现可以在这里看到:

print(intro_to_story)
answer = ""
while (answer.lower().strip() != "y" or answer.lower().strip() != "n"):
    answer = input("y or n >>> \t")
    input_gather("y", "n", None, agree_caesar_is_bad(), disagree_caesar_is_bad(), None, answer)
return

程序退出时,它将运行传递给函数的所有其他方法。

您正在调用主函数中的函数并传递结果,而不是传递可调用对象。 删除调用括号:

input_gather("y", "n", None, agree_caesar_is_bad, disagree_caesar_is_bad, None, answer)