多维列表Python(初学者)

多维列表Python(初学者),python,Python,我想创建一个多维列表,在该列表中,要求用户输入座位号或价格,然后将其替换为0 这就是我到目前为止所做的: board = [10,10,10,10,10,10,10,10,10,10, 10,10,10,10,10,10,10,10,10,10, 10,10,10,10,10,10,10,10,10,10, 10,10,20,20,20,20,20,20,10,10, 10,10,20,20,20,20,20,20,10,1

我想创建一个多维列表,在该列表中,要求用户输入座位号或价格,然后将其替换为
0

这就是我到目前为止所做的:

board = [10,10,10,10,10,10,10,10,10,10,
         10,10,10,10,10,10,10,10,10,10,
         10,10,10,10,10,10,10,10,10,10,
         10,10,20,20,20,20,20,20,10,10,
         10,10,20,20,20,20,20,20,10,10,
         10,10,20,20,20,20,20,20,10,10,
         20,20,30,30,40,40,30,30,20,20,
         20,30,30,40,50,50,40,30,30,20,
         30,40,50,50,50,50,50,50,40,30,]

def show():
    print(board [0], board[1], board[2], board[3], board[4], board[5], board[6], board[7], board[8], board[9])
    print(board [10], board[11], board[12], board[13], board[14], board[15], board[16], board[17], board[18], board[19])
    print(board [20], board[21], board[22], board[23], board[24], board[25], board[26], board[27], board[28], board[29])
    print(board [30], board[31], board[32], board[33], board[34], board[35], board[36], board[37], board[38], board[39])
    print(board [40], board[41], board[42], board[43], board[44], board[45], board[46], board[47], board[48], board[49])
    print(board [50], board[51], board[52], board[53], board[54], board[55], board[56], board[57], board[58], board[59])
    print(board [60], board[61], board[62], board[63], board[64], board[65], board[66], board[67], board[68], board[69])  
    print(board [70], board[71], board[72], board[73], board[74], board[75], board[76], board[77], board[78], board[79])
    print(board [80], board[81], board[82], board[83], board[84], board[85], board[86], board[87], board[88], board[89])


while True:
    seat = int(input("Please enter a seat or price"))

    if board[seat] != "0" :
       board[seat] =  "0"
    else:
        print("This seat is laready sold")


    show()
问题是,当给定一个价格时,我不知道如何用零替换索引值。例如,如果用户输入的是价格“40”,而不是替换索引值40,我想替换价格编号“40”


我希望这是有意义的。

让我们考虑一下这个问题。用户输入的数字可以是座位或价格

假设我们有100个座位。用户给我们50英镑。如果我们有价格低于或等于100的座位,我们怎么知道50意味着什么?是第50个座位,还是50美元?没有上下文,该值是不明确的。所以我建议你要一些

与其只问一个数字,不如试着问一个数字以及它的用途。因此,如果用户想要第50个座位,他们可以说
seat50
。现在我们知道他们说50是什么意思了。这意味着你必须自己去实现

作为旁注,您提到您需要一个多维列表。现在你的列表是平面的,这意味着它是一维的。您可以看到这一点,因为列表中没有任何元素(
[…]
)是列表本身


多维列表的一个例子是
[[1,2,3],[4,5,6],[7,8,9]
。这是一个3x3多维列表

BTW,这与你的问题无关,但是你可以考虑使用像打印(板[0:10])之类的东西,并可能使用for循环。这样你可以抽象你的代码,也可以节省你自己一些时间!正如@qwertyuip9所说,对范围(0,90,10)内的i使用类似于
的东西:print(*board[i:i+10])
。此外,您的代码的
board
包含整数,但您正在将它们与循环中的字符串进行比较。正如您在我删除的答案的注释中所说,如果用户选择
40
,那么应该更改什么?你能给出一个预期输出的例子吗?价格为40的第一个可用座位将替换为0,这意味着不可用。例如,如果用户输入40,这将发生board=[10,10,20,40,40,40]board=[10,10,20,0,40,40]