python 为什么堆栈代码在“P”和“O”中有问题?

hc2pp10m  于 2023-01-01  发布在  Python
关注(0)|答案(1)|浏览(109)

为什么当我在这段代码中写入'P'时,它没有打印List?

queue = []

while True:
    order = input("Enter an order: ")
    if order.isalpha():
        queue.append(order)
        print(queue)
    elif order == 'O':
        if len(queue) > 0:
            queue.pop(0)
            print(queue)
    elif order == 'P':
        print(queue)
    else:
        break
bgibtngc

bgibtngc1#

第一个条件if order.isalpha()捕获到“O”和“P”字符。您应该将此字符放在最后,因为首先您要检查它是否等于“O”或“P”,如果它不是这两个选项之一,则您要继续执行最后一个条件。

queue = []

while True:
    order = input("Enter an order: ")
    if order == 'O':
        if len(queue) > 0:
            queue.pop(0)
            print(queue)
    elif order == 'P':
        print(queue)
        break
    elif order.isalpha():
        # The input was not O or P, now we will perform logic for other characters
        queue.append(order)
        print(queue)
    else:
        break

相关问题