Skip to content

Python 409 得票數計算

Python TQC

題目說明:

某次選舉有兩位候選人,分別是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.

題目解析

1. 問題分析

這個問題要求我們模擬一次選舉的投票過程,並計算出最終的當選人。

2. 解題思路

我們可以使用以下步驟來解決這個問題:

  1. 初始化兩個變數 no1no2,分別用於計數候選人 Nami 和 Chopper 的得票數。
  2. 初始化一個變數 no3,用於計數廢票數。
  3. 使用 for 迴圈輸入五張選票。
  4. 對每個輸入的選票,使用 if 判斷式判斷它是投給哪位候選人或是否為廢票。
  5. 如果是投給 Nami,則將 no1 加 1;如果是投給 Chopper,則將 no2 加 1;如果是廢票,則將 no3 加 1。
  6. 迴圈結束後,比較 no1no2 的值,判斷出當選人。
  7. 輸出當選人的姓名或顯示「=> No one won the election.」

3. 思考方向

在解決這個問題時,我們可以思考以下幾個問題:

  • 如何初始化變數?
  • 如何使用 for 迴圈來輸入多個資料?
  • 如何使用 if 判斷式來判斷一個條件是否成立?
  • 如何比較兩個變數的值?

Solution
no1 = no2 = no3 = 0

for i in range(5):
    n = input()
    if(n=="1"):
        no1 += 1
        print("Total votes of No.1: Nami =  %d"%no1)
        print("Total votes of No.2: Chopper =  %d"%no2)
        print("Total null votes =  %d"%no3)
    elif(n=="2"):
        no2 += 1
        print("Total votes of No.1: Nami =  %d"%no1)
        print("Total votes of No.2: Chopper =  %d"%no2)
        print("Total null votes =  %d"%no3)
    else:
        no3 += 1
        print("Total votes of No.1: Nami =  %d"%no1)
        print("Total votes of No.2: Chopper =  %d"%no2)
        print("Total null votes =  %d"%no3)
if(no1 > no2):
    print("=> No.1 Nami won the election.")
elif(no2 > no1):
    print("=> No.2 Chopper won the election.")
else:
    print("=> No one won the election.")

Last update : 13 novembre 2024
Created : 13 novembre 2024

Comments

Comments