Python:如果 int == 则无法执行函数

Python: Trouble executing functions if int ==

我无法将我的代码用于 运行 2 个不同的游戏选项(功能)。我创建了一个菜单功能选项并包含了 2 个选项。

但是,它返回错误 "missing 2 required positional arguements" 我该如何解决?提前致谢,抱歉,这是一个菜鸟问题!

def options(playerVsComputer, playerVsPlayer):
    playerN = input("How players are you?")
    if input == 1: playerVsComputer()
    if input == 2: playerVsPlayer()

options()

在你的代码中,你定义了一个有两个参数的函数,你只能调用

options(1,2)

此外,您的变量似乎本身就是函数。 尝试

def options():
    playerN = int(input("How players are you?"))
    if playerN == 1: 
        playerVsComputer()
    if playerN == 2: 
        playerVsPlayer() 

并像上面定义的那样调用函数,不带参数。

首先,在Python3.x、inputreturns中使用了一个字符串。您正试图将一个字符串与一个整数进行比较,这总是错误的。要将该值用作整数,您必须将结果转换为 int...

int(input("How players are you?"))

...或者您可以只比较字符串文字 "1""2"

其次,没有使用正确的参数调用您的方法。您需要此方法的两个参数(它们似乎是函数,因为您在传递过程中调用它们)。

如果您在其他地方声明了这些函数,您可以从函数中删除参数。否则,您需要传入函数。