首页 > 解决方案 > 输入一些但不是全部值后,函数中的输入命令再次被调用

问题描述

我目前正在编写一个具有查看座位功能的渡轮票预订程序(我正在使用列表)。下面的代码将成为我程序中的一个函数。运行代码时,当我输入 1 时,它会打印我的列表,但如果我输入任何其他值,它会要求另一个输入。

例如,如果我输入 2,程序会要求另一个输入,如果我输入相同的值 (2),它将打印我想要的内容。但是,如果我在第二次询问时输入了一个不同的值,例如 3,它会要求第三次输入。如果我的第三个输入与我的第二个输入相同,它将打印我想要的内容,但如果我输入不同的值,它将开始打印并出现错误。

我在一个列表中列出了所有 3 个渡轮座位,所以我写了 ferry1、ferry2 等,只是为了测试目的。

贝娄是我的全部代码。很抱歉这篇文章的格式很差,因为这是我的第一个复杂程序,也是我第一次使用论坛。为什么会发生这种情况,我该如何解决这个问题?提前致谢!

seatings = [  ["ferry1", "B2", "B3", "B4", "B5"],
           ["B6", "B7", "B8", "B9", "B10"],
           ["E1", "E2", "E3", "E4", "E5"],
           ["E6", "E7", "E8", "E9", "E10"],
           ["E11", "E12", "E13", "E14", "E15"],
           ["E16", "E17", "E18", "E19", "E20"],
           ["E21", "E22", "E23", "E24", "E25"],
           ["E26", "E27", "E28", "E29", "E30"],
           ["E31", "E32", "E33", "E34", "E35"],
           ["E36", "E37", "E38", "E39", "E40"],
           ["ferry2", "B2", "B3", "B4", "B5"],
           ["B6", "B7", "B8", "B9", "B10"],
           ["E1", "E2", "E3", "E4", "E5"],
           ["E6", "E7", "E8", "E9", "E10"],
           ["E11", "E12", "E13", "E14", "E15"],
           ["E16", "E17", "E18", "E19", "E20"],
           ["E21", "E22", "E23", "E24", "E25"],
           ["E26", "E27", "E28", "E29", "E30"],
           ["E31", "E32", "E33", "E34", "E35"],
           ["E36", "E37", "E38", "E39", "E40"],
           ["ferry3", "B2", "B3", "B4", "B5"],
           ["B6", "B7", "B8", "B9", "B10"],
           ["E1", "E2", "E3", "E4", "E5"],
           ["E6", "E7", "E8", "E9", "E10"],
           ["E11", "E12", "E13", "E14", "E15"],
           ["E16", "E17", "E18", "E19", "E20"],
           ["E21", "E22", "E23", "E24", "E25"],
           ["E26", "E27", "E28", "E29", "E30"],
           ["E31", "E32", "E33", "E34", "E35"],
           ["E36", "E37", "E38", "E39", "E40"] ]

import datetime
today = datetime.date.today()

def getchoice():
        ch=int(input("Please enter ferryID: "))
        return ch

if (getchoice()== 1):
        ID=1
        a=0
        b=2
        c=10
elif (getchoice()==2):
        ID=2
        a=10
        b=12
        c=20
elif (getchoice()==3):
        ID=3
        a=20
        b=22
        c=30

print("-"*35)
print("Ferry ID:", ID, "   ", "Date:",today)
print("-"*35)
print("Business Class")
for item in ferry[a:b] :
        print( "-"*33, "\n",
               item[0], " "*( 3-len( item[0] ) ),
               ":", item[1], " "*( 3-len( item[1] ) ),
               ":", item[2], " "*( 3-len( item[2] ) ),
               ":", item[3], " "*( 3-len( item[3] ) ),
               ":", item[4], " "*( 3-len( item[4] ) ))
print("-"*33)
print("Economy Class")
for item in ferry[b:c]:
        print( "-"*33, "\n",
               item[0], " "*( 3-len( item[0] ) ),
               ":", item[1], " "*( 3-len( item[1] ) ),
               ":", item[2], " "*( 3-len( item[2] ) ),
               ":", item[3], " "*( 3-len( item[3] ) ),
               ":", item[4], " "*( 3-len( item[4] ) ))
print("-"*33)

标签: pythonpython-3.x

解决方案


推荐阅读