2017年12月24日 星期日

b005: 熱門點播

b005: 熱門點播

"""
綠苑電台為了方便讓聽眾點播歌曲,便將電台內所有取得
授權的歌曲編號(1~100000000的正整數),聽眾在明信片上
註明歌曲編號,即可完成點播。
為了知道本年度最熱門的點播是哪一首,
小亮亮把所有明信片翻了出來一張一張看,
發現看到一半,就忘記每一首歌的點播次數了。
現在想請你寫一個程式,幫小亮亮找出最熱門的歌曲是哪一曲。


輸入說明:
一開始有一個正整數 N (1<=N<=20),代表有幾張明信片的點播,
接下來有 N 個 1~100000000 的正整數,代表這 N 張明信片所點播的歌曲編號。

輸出說明:
請輸出點播次數最高的歌曲編號,
以及它的點播次數(不用考慮最高點播次數的歌曲
有兩首以上的情況),中間請空一格。

範例輸入:
輸入1:
3 10 20 20

輸入2:
6 55 33 44 33 22 33
範例輸出 :

輸出1:
20 2

輸出2:
33 3
"""

m=[]
N=21
while (N<=0 or N>20):
    print("輸入正整數 N  (1<=N<=20)。")
    N = int(input(" N -> "))
    if (N>20) :
       print("錯誤輸入 (1<=N<=20)")
       

print("共有",N,"張明信片的點播")

for i in range(1,N+1):
    print("第",i,"歌曲編號",end='')        
    n = int(input('請輸入--> '))
    m.append(n)
print("歌曲編號有",m)

k=[]
for i in range(0,N):
    j= m[i]
    j=m.count(j)
    k.append(j)
print("出現次數 ",k)

print("點播最高次數=",max(k))
cnt1=k.index(max(k))
print("點播最高歌曲編號",m[cnt1])


===== ========= RESTART: F:/Python_APSC/b005.py ======================
輸入正整數 N  (1<=N<=20)。
 N -> 8
共有 8 張明信片的點播
第 1 歌曲編號請輸入--> 1
第 2 歌曲編號請輸入--> 1
第 3 歌曲編號請輸入--> 1
第 4 歌曲編號請輸入--> 1
第 5 歌曲編號請輸入--> 5
第 6 歌曲編號請輸入--> 6
第 7 歌曲編號請輸入--> 7
第 8 歌曲編號請輸入--> 122
歌曲編號有 [1, 1, 1, 1, 5, 6, 7, 122]
出現次數  [4, 4, 4, 4, 1, 1, 1, 1]
點播最高次數= 4
點播最高歌曲編號 1
>>> 
====== ===== RESTART: F:/Python_APSC/b005.py ======================
輸入正整數 N  (1<=N<=20)。
 N -> 6
共有 6 張明信片的點播
第 1 歌曲編號請輸入--> 55
第 2 歌曲編號請輸入--> 33
第 3 歌曲編號請輸入--> 44
第 4 歌曲編號請輸入--> 33
第 5 歌曲編號請輸入--> 22
第 6 歌曲編號請輸入--> 33
歌曲編號有 [55, 33, 44, 33, 22, 33]
出現次數  [1, 3, 1, 3, 1, 3]
點播最高次數= 3
點播最高歌曲編號 33
>>> 

沒有留言:

張貼留言

2024_09 作業3 以Node-Red 為主

 2024_09 作業3  (以Node-Red 為主  Arduino 可能需要配合修改 ) Arduino 可能需要修改的部分 1)mqtt broker  2) 主題Topic (發行 接收) 3) WIFI ssid , password const char br...