Python IF和ELIF函数和FOR函数
我的代码不起作用,它应该询问投票者人数和三名候选人的姓名,然后每个投票者必须从最喜欢的候选人到最不喜欢的候选人进行排名,当投票结束时,它应该打印“胜者是”和最喜欢的候选人。我不知道我是否做对了,因为每次修改都会出错。我知道用python编码,但我不知道如何打印第一选择、第二选择和第三选择,然后传递给第二个投票人,所以我打印了第一选择3次,第二选择3次,第三选择3次,因此,如果有人能修复我的代码,我将非常感激。我不懂python,所以我知道下面的代码有语法错误。逻辑是让它工作所需要的 简言之:对每个候选人进行计数。为每个候选对象指定一个数值。3如果是第一选择,2如果是第二选择,1如果是第三选择。最后,人数最多的人是赢家Python IF和ELIF函数和FOR函数,python,if-statement,printing,Python,If Statement,Printing,我的代码不起作用,它应该询问投票者人数和三名候选人的姓名,然后每个投票者必须从最喜欢的候选人到最不喜欢的候选人进行排名,当投票结束时,它应该打印“胜者是”和最喜欢的候选人。我不知道我是否做对了,因为每次修改都会出错。我知道用python编码,但我不知道如何打印第一选择、第二选择和第三选择,然后传递给第二个投票人,所以我打印了第一选择3次,第二选择3次,第三选择3次,因此,如果有人能修复我的代码,我将非常感激。我不懂python,所以我知道下面的代码有语法错误。逻辑是让它工作所需要的 简言之:对每
x = int(input("Numbers of Voters:"))
a = input("Candidate 1:")
b = input("Candidate 2:")
c = input("Candidate 3:")
for i in range(x):
print ("Enter Your 1st choice ")
for a in range(1):
a= input("1st Choice: ")
for i in range(x):
print ("Enter your 2nd choice ")
for b in range(1):
b= input("2nd Choice: ")
for i in range(x):
print ("Enter your 3rd choice ")
for c in range(1):
c= input("3rd Choice: ")
if (a > b) and (a > c):
print("Winner is", a)
elif (b > a) and (b > c):
print("Winner is", b)
else (c > a) and (c > b):
print("Winner is", c)
您似乎在使用
a
、b
和c
作为候选人的姓名和每个候选人的累积投票数。您当前所做的只是多次覆盖a
、b
和c
的值。如果、elif
和else
不是函数,它们就是关键字。他们正在按他们应该的方式工作,这是你计票的一部分——在你的if
之前添加print(a,b,c)
,然后自己看看。好吧,我现在正在尝试。我在第24行仍然有一个语法错误,上面写着else(c>a)和(c>b):你是故意对循环使用1-iteration<代码>对于范围(1)中的i
将只运行一次因为最后一行它不工作,但我不知道为什么因为缩进错误:未缩进与任何外部缩进级别不匹配我进行了编辑。希望我的语法正确。现在试试看。确保当您尝试时,第一个候选人是赢家,这样您将看到输出
x = int(input("Numbers of Voters:"))
a = input("Candidate 1:")
b = input("Candidate 2:")
c = input("Candidate 3:")
aCount=0
bCount=0
cCount=0
for i in range(x):
candidate1 = input("First Choice")
if candidate1 == a :aCount=aCount+3
if candidate1 == b :bCount=bCount+3
if candidate1 == c :cCount=cCount+3
candidate2 = input("Second Choice")
if candidate2 == a :aCount=aCount+2
if candidate2 == b :bCount=bCount+2
if candidate2 == c :cCount=cCount+2
candidate3 = input("Third Choice")
if candidate3 == a :aCount=aCount+1
if candidate3 == b :bCount=bCount+1
if candidate3 == c :cCount=cCount+1
if candidate1>candidate2 and candidate1>candidate3 : print ("candidate 1 wins")