UIVisualEffectView
在这里的代码中,我要求此人选择要使用的起始项目。它会将项目添加到项目列表中。如果该项目不是剑或锤子,则应该说无效选项并将您发回给函数的开始。不幸的是,它会将剑或锤子放在列表中,但无论如何它都会运行第三个'if'语句。
答案 0 :(得分:2)
英语" X不是Y或Z"并不像Python那样完全翻译。在Python中,X != Y or Z
被视为(X != Y) or (Z)
; Z
是它自己的条件,由于"hammer"
本身始终为真,or "hammer"
使任何条件成立。你真的想说starting_item != "sword" and starting_item != "hammer"
。
但实际上,你根本不应该重复你的条件:
if starting_item == "hammer":
items.append("hammer")
print "Hammer was added to items"
elif starting_item == "sword":
items.append("sword")
print "Sword was added to items"
else:
print "Invalid option"
continue
答案 1 :(得分:1)
如果
,您需要更改第三个条件将其更改为:
if starting_item != "sword" or starting_item !="hammer":
答案 2 :(得分:1)
我建议使用以下代码
if starting_item not in ["sword", "hammer"]:
答案 3 :(得分:0)
starting_item
只能有一个值,因此在此处使用elif
是合适的。另外,使用break
退出循环会更加清晰,以防您决定在循环后在同一函数中添加更多代码。
def sec_1():
while True:
starting_item = raw_input("Hammer or sword (use no caps!)")
if starting_item == "hammer":
items.append("hammer")
print "Hammer was added to items"
elif starting_item == "sword":
items.append("sword")
print "Sword was added to items"
else:
print "Invalid option"
continue
break
最后,为每个缩进级别使用一致数量的空格。