首页 > 解决方案 > Python TypeError:“函数”对象不能解释为整数

问题描述

我有以下代码:

# capture the number of players
def people():
    users = (input("how many players? "))
    while users.isdigit() == False:
        users = (input("how many players? "))
    users = int(users)

# capture each player's name
def player_name():
    for person in range(people):
        name = input("player's name?  ")
        players[name] = []
    
game_type = input("ongoing competition or single play?  ")
players = {}

if game_type == 'single play':
    people()

    player_name()

当代码到达player_name()底部时,我收到此错误。TypeError:“函数”对象不能解释为整数

我该如何解决?

标签: pythonpython-3.x

解决方案


在 people() 函数中,添加返回 users 变量的 return 语句。

然后,将其作为参数传递给 player_name() 函数:

# capture the number of players
def people():
    users = (input("how many players? "))
    while users.isdigit() == False:
        users = (input("how many players? "))
    users = int(users)
    return users

# capture each player's name
def player_name(people, players):
    for person in range(people):
        name = input("player's name?  ")
        players[name] = []
    
game_type = input("ongoing competition or single play?  ")
players = {}

if game_type == 'single play':
    num_people = people()

    player_name(num_people, players)

推荐阅读