python证照必考题 得票数计算 选举题目 投票问题TQC+ 程序语言 Python 3 _ 409

*TQC+ 程序语言 Python 3 _ 409 得票数计算 *
说明: 某次选举有两位候选人,分别是No.1: Nami、No.2: Chopper。
请撰写一程序,输入五张选票,输入值如为1即表示针对1号候选人投票;
输入值如为2即表示针对2号候选人投票,如输入其他值则视为废票。
每次投完後需印出目前每位候选人的得票数,最後印出最高票者为当选人;
如最终计算有相同的最高票数者或无法选出最高票者,显示
【=> No one won the election.】。
-------------------------------
输入与输出会交杂如下,输出的部份以粗体字表示(程序执行状况撷图)
2
Total votes of No.1: Nami = 0
Total votes of No.2: Chopper = 1
Total null votes = 0
1
Total votes of No.1: Nami = 1
Total votes of No.2: Chopper = 1
Total null votes = 0
8
Total votes of No.1: Nami = 1
Total votes of No.2: Chopper = 1
Total null votes = 1
2
Total votes of No.1: Nami = 1
Total votes of No.2: Chopper = 2
Total null votes = 1
2
Total votes of No.1: Nami = 1
Total votes of No.2: Chopper = 3
Total null votes = 1 => No.2 Chopper won the election.

python解题一: 考试上机作答没问题,但现实状况不符。

nami_vote = 0 
chopper_vote = 0
null_vote = 0

for i in range(5):   #for 回圈。五次投票
    vote = int(input())

    if vote == 1:
        nami_vote += 1
    elif vote == 2:
        chopper_vote += 1
    else:
        null_vote += 1

    print('Total votes of No.1: Nami = ', nami_vote)    
    print('Total votes of No.2: Chopper = ', chopper_vote)
    print('Total null votes = ', null_vote)

if nami_vote > chopper_vote:    
    print('=> No.1 Nami won the election.')
elif chopper_vote > nami_vote:
    print('=> No.2 Chopper won the election.')
else:
    print('=> No one won the election.')   
    
   #这种方法在废票多於前两位候选人会出现,bug 。错判 某位候选人照样胜出。
null 3
nami 2
chopper 1. 判定: nami胜出的谬误
**解法二:**
nami,chop,null= 0,0,0

for i in range(5):
     vote = int(input())
     if vote == 1: nami +=1
     elif vote == 1: chop +=1
     elif: null +=1
     
     print("Total vote of No.1: Nami =",nami)
     print("Total vote of No.2: Chopper =",chop)
     print("Total nul votes =" ,null)

if null >= nami and null >=chop or nami == chop: #先界定各种废票
       print("=> No one won the election.")
elif nami> chop: 
       print("=> No.1 Nami won the election.")
else:
       print("=> No.2 Chopper won the election.")
 **   解法三:**
    
nami,chop,null =0,0,0

for i in range(5):
         vote = input()
         if vote == "1":nami +=1
         elif vote =="2": chop +=1 #把 投票变成字串,确定头1or2有效,其他写错的不会生效。
          elif: null += 1
     
     print("Total vote of No.1: Nami =",nami)
     print("Total vote of No.2: Chopper =",chop)
     print("Total nul votes =" ,null)

if null >= nami and null >=chop or nami == chop:
       print("=> No one won the election.")
elif nami> chop:
       print("=> No.1 Nami won the election.")
else:
       print("=> No.2 Chopper won the election.")

<<:  未来狂想:天气气候监测领域

>>:  Day03 - 随意玩之 API 讯息内文以及 Sign

工作散记 - Spotify for Developers

embed 连结格式: Podcast - https://open.spotify.com/em...

[Day21] 在 .NET 使用 Dapper 操作 MySQL

现在我们的资料库已经就绪了,我们赶快来透过 .NET Web API 操作资料库吧! 现在写 .NE...

[Day6] Ajax Type Ahead

[Day6] Ajax Type Ahead 输入框筛选器制作 需要用到的技巧与练习目标 fetch...

Day 31 | 常见 Livewire 问题: jQuery 在渲染时会打回原形

jQuery 在大多数的专案中都不可或缺,在没有 Livewire 之前要修改画面都要靠它来手动更改...

就控制目标(control objectives)而言,那一个是无效的实体控制(the least effective physical control )?

一个 控制目标(control objectives) 是一个“描述的是要实现作为实施控制的结果声明...