python - 输入一些但不是全部值后,函数中的输入命令再次被调用
问题描述
我目前正在编写一个具有查看座位功能的渡轮票预订程序(我正在使用列表)。下面的代码将成为我程序中的一个函数。运行代码时,当我输入 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)
解决方案
推荐阅读
- maple - 绘制之间包含的旋转实体
- c# - 可空类型的 IsNullOrEmpty 的替代方案?
- powershell - 获取有关组描述的 Active Directory 组及其成员的列表
- android - 如何获得对 ActionBarDrawerToggle 的引用?
- html - 使用自动分页符打印 html 时添加页码
- swift - 有没有办法每按下一个按钮 5 次调用一个函数(Swift)?
- latex - 如何在 tikz 中定义文本内的坐标点?
- netsuite - 如何在 Netsuite 中检测父对象的确切记录类型?
- amazon-web-services - 使用 AWS Cognito 进行桌面身份验证
- django - 如何在 vuejs 发布期间设置 cookie