【发布时间】:2017-10-10 22:55:39
【问题描述】:
我对python很陌生,所以如果我的错误很明显,请原谅我。
我遇到的问题是第 15 行。我正在努力检查输入值是否不在列表“列表”中
当前输入的所有值(在列表“list”中和不在列表“list”中)都将返回响应“srry”。
我知道第 15 行有问题,因为如果我为国家/地区创建一个没有嵌套列表的单独列表:仅在第 15 行调用英格兰、法语和普通话,基于输入的适当响应将按预期打印。
任何帮助将不胜感激。
#input
lang = str(input("Please Type in the Language you speak and press enter
('make sure you use a capital letter')"))
#list of countries
list = [["English", "english"], ["French", "french"], ["Mandarin",
"mandarin"]]
#list of responses
lls = ["Hello,", "Bonjour,", "Ni Hao"]
srry = "Sorry, but I don't speak that"
welcmsg = "Welcome to Coventry"
# check if input is not in list
if str(lang) not in list:
print(srry)
#provide appropriate response based on input
elif str(lang) in list[0]:
print(lls[0] + " " + welcmsg)
elif str(lang) in list[1]:
print(lls[1] + " " +welcmsg)
elif str(lang) in list[2]:
print(lls[2])
【问题讨论】:
-
顺便说一句,避免使用与
built-inpython 关键字相同的名称命名变量,例如list是一个 python 关键字,使用变量名隐藏它可能会产生意外行为,请考虑使用不同的变量名,如mylist等。不确定它是否与您的问题有关,但可能会有所帮助。
标签: python-3.x list nested-lists