python列表未附加

2024-04-24 14:58:36 发布

您现在位置:Python中文网/ 问答频道 /正文

列表没有被附加我想为两个用户附加板列表使用for循环我怎么做

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))

Tags: 用户nameinboard列表forinputyour
3条回答
  1. 你从不打电话给set_board
  2. print_board不返回任何内容,因此无法打印返回值
  3. 您试图为列表中的每个元素设置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)

正如其他人所指出的,你从来没有真正称之为“设置董事会”,但如果你这样做,它就会失败。当您附加要附加到users['board']而不是user1['board']或user2['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型

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

相关问题 更多 >