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、input
returns中使用了一个字符串。您正试图将一个字符串与一个整数进行比较,这总是错误的。要将该值用作整数,您必须将结果转换为 int
...
int(input("How players are you?"))
...或者您可以只比较字符串文字 "1"
和 "2"
。
其次,没有使用正确的参数调用您的方法。您需要此方法的两个参数(它们似乎是函数,因为您在传递过程中调用它们)。
如果您在其他地方声明了这些函数,您可以从函数中删除参数。否则,您需要传入函数。
我无法将我的代码用于 运行 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、input
returns中使用了一个字符串。您正试图将一个字符串与一个整数进行比较,这总是错误的。要将该值用作整数,您必须将结果转换为 int
...
int(input("How players are you?"))
...或者您可以只比较字符串文字 "1"
和 "2"
。
其次,没有使用正确的参数调用您的方法。您需要此方法的两个参数(它们似乎是函数,因为您在传递过程中调用它们)。
如果您在其他地方声明了这些函数,您可以从函数中删除参数。否则,您需要传入函数。