【发布时间】:2020-08-04 13:43:27
【问题描述】:
每当我尝试输入列表中第一个索引值为 0 的名称字符串(例如 Magnus)时,它会起作用,但是,当我输入具有不同索引值的不同名称时(例如. 托尼)它不起作用。似乎变量“k”仅适用于列表中的第一项。有没有办法让变量“k”在确认是否存在任何匹配项之前检查整个列表?此外,如何将所有列表和字符串设为小写,以便在搜索匹配项时不区分大小写?当我尝试这样做时,它似乎不起作用。
people_list = [['Magnus', 84], ['Tony', 42], ['Alex', 36], ['James', 29], ['Miles', 51], ['Steve', 13], ['Kenneth', 8], ['Valar', 60]]
find = str(input("Please input a name."))
for k,v in people_list:
if find == k:
print("Name:" + str(k),"& Age:" + str(v))
elif find != k:
print("A match was not found.")
break
break
【问题讨论】:
-
input()总是返回一个字符串,你不需要str()围绕它。 -
当您的
elif条件与if条件完全相反时,您应该使用else -
请一次只问一个问题。
-
使用字典,它的确切目的是:在恒定时间内找到一个键。
标签: python python-3.x list nested-lists lowercase