引自免费微信小程序:皆我百晓生
你的代码在尝试获取列表lst_busstop
中输入值a
的索引时出现了错误,因为a
的值(在这个例子中是'田')并不在给定的列表里。为了修复这个问题,你需要确保用户输入的站名在列表lst_busstop
内。这里是一个修改后的版本,包含了对用户输入的检查以及一个简单的提示。
# 定义公交车站列表
lst_busstop = ["Longjiangxin City", "Sunshine Square", "Hanjiang Road", "Nenjiang Road", "Qingliangshan Park", "Lhasa Road"]
# 获取用户输入的起点和终点站
a = input("请输入起点站:")
b = input("请输入终点站:")
# 检查输入的站名是否存在于列表中
while a not in lst_busstop or b not in lst_busstop:
print(f"输入的{a}或{b}不在公交线路中,请重新输入。")
a = input("请输入起点站:")
b = input("请输入终点站:")
# 获取起点和终点站的索引
qi = lst_busstop.index(a)
zhong = lst_busstop.index(b)
# 输出相关信息
print(f"{a} 到 {b} 的路线信息:")
if qi > zhong:
print("您需要乘坐反方向的公交车。")
else:
# 计算并打印两个站之间的距离
f_stops = abs(qi - zhong)
print(f"从 {a} 到 {b} 有 {f_stops} 站。")
这个修改过的代码会循环要求用户重新输入直到他们提供的站名出现在列表lst_busstop
中。这样可以避免因输入无效站名而导致的程序错误。