例如,我试图能够让用户输入像"alberta"这样的省份,然后让它显示"AB"给用户。或者反过来。我只能用列表。(老师提到了"平行列表"?)
这是我尝试过的…
def lists (province, abrev):
userInput = input("Enter Province or Abreviation: ")
province = ["alberta", "nova scotia", "british columbia"]
abrev = ["AB", "NS", "BC"]
for ab in range(len(province)):
if province["alberta"] == abrev["AB"]:
print("AB")
if userInput == province:
print(len(province))
def main():
lists()
main()
您可以使用zip()将两个列表连接在一起。
province = ["alberta", "nova scotia", "british columbia"]
abrev = ["AB", "NS", "BC"]
userInput = input("Enter Province or Abreviation: ")
for prov,ab in zip(province,abrev):
if userInput == prov:
print(ab)
elif userInput == ab:
print(prov)
也可以使用字典。使用这个方法,您有一个键和一个值
province_dict = {'NS': 'nova scotia', 'BC': 'british columbia', 'AB': 'alberta'}
如果你想查找哪个州有缩写'AB'那么你可以做
print(province_dict['AB'])
因为你处理的是用户输入,所以你应该使用
province_dict.get(userInput,'Unknown')
如果在字典中没有找到该条目,将返回'Unknown',而不是引发KeyError。
看看列表上的index()
方法,你不应该循环遍历所有元素。