2015-11-29 71 views
0

我想創建一個多維列表,其中程序中用戶要求輸入座位號或價格,然後用0替換它們。多維列表Python(初學者)

這是我到目前爲止有:

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」。

我希望這是有道理的。

+0

順便說一句,這與你的問題沒有關係,但你可能會考慮使用類似print(board [0:10])的東西,並可能將它用於for循環。這樣你就可以抽象你的代碼,也可以節省一些時間! – qwertyuip9

+2

正如@ qwertyuip9所說,在range(0,90,10):print(* board [i:i + 10])中使用'for i'。 – TigerhawkT3

+1

此外,您的代碼的'board'包含整數,但您將它們與該循環中的字符串進行比較。 – TigerhawkT3

回答

0

讓我們來思考這個問題。用戶輸入可能是座位或價格的號碼。

比方說,我們有100個座位。用戶給我們50個。如果我們有任何價格低於或等於100的座位,我們怎麼知道50是什麼意思?是第50個座位還是50美元?沒有上下文的價值是不明確的。所以我建議你請一些。

而不是要求只是一個數字,也許嘗試要求一個數字,它是什麼。所以如果用戶想要第50個座位,他們可以說seat 50。而現在我們知道他們在說50時的含義。但這意味着您必須自己實現這一點。

作爲一個方面說明,你確實提到你想要一個多維列表。現在你的名單是平的,這意味着它是單一的。您可以看到,因爲列表中沒有元素([...])是列表本身。

多維列表的一個例子是[[1,2,3], [4,5,6], [7,8,9]]。這是一個3x3多維列表。