python列表未被追加

python列表未被追加,python,list,append,Python,List,Append,列表没有被追加我想为两个用户追加board list使用for loop我怎么做 from random import randint user1 = { "name":input("Enter your name"), "board":[] } user2 = { "name":input("Enter your name"), "board":[] } users = [user1, user2] def set_board(users): for x

列表没有被追加我想为两个用户追加board list使用for loop我怎么做

from random import randint
user1 = {
    "name":input("Enter your name"),
    "board":[]
}
user2 = {
    "name":input("Enter your name"),
    "board":[]
}
users = [user1, user2]
def set_board(users):
    for x in range(5):
        users["board"].append(x)
def print_board(users):
    for row in users["board"]:
        print(" ".join(row))
print("Let's start")
print(print_board(user1))
print(print_board(user2))

您从未调用set_board()函数。此外,print(print_board(user1))语句不会打印任何内容,因为print_board()中没有返回值=>只需调用print_board(user1)

  • 您从不调用
    set\u board
  • print\u board
    不返回任何内容,因此无法打印返回值
  • 您试图为列表中的每个元素设置dict键,这是不可能的
  • 以下是一个工作版本:

    from random import randint
    user1 = {
        "name":input("Enter your name"),
        "board":[]
    }
    user2 = {
        "name":input("Enter your name"),
        "board":[]
    }
    users = [user1, user2]    # Actually this is not used anymore
    
    def set_board(user):
        for x in range(5):
            user["board"].append(x)
    
    def print_board(user):
        print(' '.join(str(user["board"])))
    
    print("Let's start")
    set_board(user1)
    set_board(user2)
    print_board(user1)
    print_board(user2)
    

    正如其他人所指出的,你从来没有真正调用过“set_board”,但如果你这样做,它就会失败。当您将要附加的整数附加到用户['board']时,不要附加到用户1['board']或用户2['board']。事实上,当您尝试进行该赋值时,python应该抛出一个TypeError

    TypeError:列表索引必须是整数,而不是str

    比如:

    def set_board(users):
        for my_user in users:
            for x in range(5):
                my_user.append(x)
    
    将向每个用户(user1和user2)追加整数。
    T

    请将您的问题重新表述为更具体的问题。请提供有关您正在尝试做什么的信息。