使用循环更改二维列表中的多个值

奥兹·皮罗(OzzyPyro)

我正在编写的程序是在将座位创建为5行5列的二维列表后,在剧院中“出售”座位。我已经将其大部分工作了,但是如果我在标记为已售出的座位旁边选择一个座位,则会收到一条信息,好像该座位也已售出一样。这是我使用的标准:

填充5 x 5网格。然后执行以下操作。创建一个循环,该循环将一直持续到用户说出他们要退出(是/否)或全部25个席位售出为止。让用户根据行和列(行,列)询问座位位置-记住列表的位置从0开始,但是用户会从行或列位置1询问座位。然后,当用户选择座位,打印出用户的价格,并在价格所在的列表中标记一个“ SS”(已售座位)。然后打印出所有座位,以便用户选择其他座位。当循环中的下一个用户要求座位时,请确保您检查并查看该座位是否已售出(表中有“ SS”)。如果已售出,请告知用户-否则退还价格并标记售出的座椅。在用户要求退出或所有席位都售完或循环结束之后,

这是我的代码:

def main():
seatList = [
    [50,50,50,50,50],
    [40,45,45,45,40],
    [30,35,35,35,30],
    [20,20,20,20,20],
    [10,10,10,10,10],
]
cont = "y"
while cont.lower() == "y":
    print("Here is the seating arrangement:")
    availableSeat = seatPrinter(seatList)
    totalRow = int(len(seatList)) - 1
    totalColumn = int(len(seatList[0])) - 1
    seatRow = int(input("Please enter a row number (1 to %d):"%totalRow))
    seatColumn = int(input("Please enter a seat number (1 to %d):"%totalColumn))
    seatStatus = seatAvailable(seatList, seatRow, seatColumn)
    cont = input("Would you like to reserve another seat?(Y/N)")

def seatPrinter(seats):
    for i in range(len(seats[0])):
        print(seats[i])

def seatAvailable(seats, row, column):
    for i in range(len(seats)):
        for j in range(len(seats)):
            if seats[i][j] is not 'SS':
                seats[i][j] = 'SS'
                print("Your seat is in row %d seat number %d"%(i+1, j+1))
                return
            else:
                print("Sorry, that seat isn't available.")
                return

main()

现在,这是我得到的输出:

Here is the seating arrangement:
[50, 50, 50, 50, 50]
[40, 45, 45, 45, 40]
[30, 35, 35, 35, 30]
[20, 20, 20, 20, 20]
[10, 10, 10, 10, 10]
Please enter a row number (1 to 4):1
Please enter a seat number (1 to 4):1
Your seat is in row 1 seat number 1
Would you like to reserve another seat?(Y/N)y
Here is the seating arrangement:
['SS', 50, 50, 50, 50]
[40, 45, 45, 45, 40]
[30, 35, 35, 35, 30]
[20, 20, 20, 20, 20]
[10, 10, 10, 10, 10]
Please enter a row number (1 to 4):1
Please enter a seat number (1 to 4):2
Sorry, that seat isn't available.
Would you like to reserve another seat?(Y/N)

我似乎找不到为什么我不能在同一排预订更多座位,感谢您的帮助

马库斯·奥里利亚努斯
def main():
    seatList = [
        [50,50,50,50,50],
        [40,45,45,45,40],
        [30,35,35,35,30],
        [20,20,20,20,20],
        [10,10,10,10,10],
    ]
    cont = "y"
    while cont.lower() == "y":
        print("Here is the seating arrangement:")
        availableSeat = seatPrinter(seatList)
        totalRow = int(len(seatList)) - 1
        totalColumn = int(len(seatList[0])) - 1
        seatRow = int(input("Please enter a row number (1 to %d):"%totalRow))
        seatColumn = int(input("Please enter a seat number (1 to %d):"%totalColumn))
        seatStatus = seatAvailable(seatList, seatRow, seatColumn)
        cont = input("Would you like to reserve another seat?(Y/N)")

def seatPrinter(seats):
    for i in range(len(seats[0])):
        print(seats[i])

def seatAvailable(seats, row, column):
    if seats[row-1][column-1] is not 'SS':
        seats[row-1][column-1] = 'SS'
        print("Your seat is in row %d seat number %d"%(row,column))
        return
    else:
        print("Sorry, that seat isn't available.")
        return

main()

结果,

Here is the seating arrangement:
[50, 50, 50, 50, 50]
[40, 45, 45, 45, 40]
[30, 35, 35, 35, 30]
[20, 20, 20, 20, 20]
[10, 10, 10, 10, 10]
Please enter a row number (1 to 4):1
Please enter a seat number (1 to 4):1
Your seat is in row 1 seat number 1
Would you like to reserve another seat?(Y/N)Y
Here is the seating arrangement:
['SS', 50, 50, 50, 50]
[40, 45, 45, 45, 40]
[30, 35, 35, 35, 30]
[20, 20, 20, 20, 20]
[10, 10, 10, 10, 10]
Please enter a row number (1 to 4):1
Please enter a seat number (1 to 4):2
Your seat is in row 1 seat number 2
Would you like to reserve another seat?(Y/N)Y
Here is the seating arrangement:
['SS', 'SS', 50, 50, 50]
[40, 45, 45, 45, 40]
[30, 35, 35, 35, 30]
[20, 20, 20, 20, 20]
[10, 10, 10, 10, 10]
Please enter a row number (1 to 4):1
Please enter a seat number (1 to 4):1
Sorry, that seat isn't available.
Would you like to reserve another seat?(Y/N)    

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章