在练习中,我建立了一个基本的投票计划,但我无法理解为什么我的"其他"语句永远不会被调用?
import random
vote = input("Please submit a vote for candA, candB or choose a third party: \n")
candA = "Person1"
candB = "Person2"
other = "A third party candidate"
if candA:
print("Thankyou! Vote submitted!")
elif candB:
print("Thankyou! Vote submitted!")
elif other:
print("Thankyou! Vote submitted!")
else:
print("You did not submit a vote!")
total_votes = random.choice([candA, candB, other])
amount = random.randint(1, 10)
print(total_votes + " won the election by " + str(amount) + " votes!")
提前谢谢
答案 0 :(得分:1)
如果变量不同,则无或者''那么它被认为是真的。 当你打电话给`if candA" ,candA包含一个字符串" person1"这将导致真实。 您可以尝试以下方式:
if vote == candA:
etc
elif vote == candB:
etc
elif vote == candC:
etc
else:
etc
答案 1 :(得分:0)
您需要在candA
上使用vote
执行相等检查,并根据该代码运行您的代码。现在你说if string candA exists: do x
,你需要说if vote is the same as candA: do x
。
要执行此计算,您可以使用==
(请注意不是=
保留用于分配,并会让您说if set string candA: do x
始终为True
),如此:
if vote == candA:
print("Thankyou! Vote submitted!")
elif vote == candB:
print("Thankyou! Vote submitted!")
elif vote == other:
print("Thankyou! Vote submitted!")
else:
print("You did not submit a vote!")
注意:强>
为了获得更好的结果,请使用.lower()
投票和相关字符串忽略等式中的大小写。例如。 if vote.lower() == candA.lower():