【发布时间】:2016-08-26 13:58:04
【问题描述】:
每次编译这段代码时,我都希望它遍历每个“if,elif”,直到找到匹配项。所以它可以继续在屏幕上打印出给定的列表。
但令我惊讶的是,即使您输入“步枪”,它所做的只是给您“else”语句。
这是我在 Stackoverflow 上的第一篇文章,如有错误请见谅。
非常感谢任何帮助,在此先感谢。
rifles = ["Ak47", "M4A1", "Aug", "Famas", "Galil"]
pistols = ["Glock", "USP", "Deagle", "P250", "Five-7", "Tec-9"]
shotguns = ["Buckshot", "Benelli", "M1319", "Sawed-Off"]
snipers = ["AWP", "SSG", "Cheytac", "Barret", "M24"]
grenades = ["Smoke", "High-Explosive", "Flash", "Concussion", "Molotov", "Incendiary"]
knives = ["Bayonette", "Karambit", "Machete", "Butterfly", "Katana"]
equipment = ["Kevlar", "Helmet", "Tactical-Shield", "Boots", "Nightvision"]
raw_input = input("Search: ")
def search():
if raw_input == "Rifles":
for ri in rifles:
print(ri)
break
elif raw_input is "Pistols":
for pi in pistols:
print(pi)
break
elif raw_input is "Shotguns":
for sho in shotguns:
print(sho)
break
elif raw_input is "Snipers":
for sni in snipers:
print(sni)
break
elif raw_input is "Grenades":
for gre in grenades:
print(gre)
break
elif raw_input is "Knives":
for kni in knives:
print(kni)
elif raw_input is "Equipment":
for equ in equipment:
print(equ)
else:
print("Try again...")
return
search()
【问题讨论】:
-
你为什么改用
is而不是==? -
如果您输入“步枪”,它所做的只是给您“else”语句。 -- 这是因为代码需要“步枪”,而不是“步枪”
-
我尝试同时输入“步枪”和“步枪”,== 和 is 相同(均未成功)
-
完成了,再次感谢板球!
标签: python python-3.5