close
Content
A. C. Marcos正在朝著音樂創作的方向邁出第一步。
雖然他遇到了一些困難,但至少他獲得了愉悅的旋律和誘人的節奏。
在音樂中,音符具有音高(其頻率,導致聲音高低)和持續時間(音符聽起來多長時間)。
在這個問題上,我們只對音符的持續時間感興趣。
音樂分為小節序列,小節由一系列音符組成。
音符的持續時間由其形狀指示。
在此問題中,我們將使用大寫字母表示音符的持續時間。
下表列出了所有可用的音符:
音符 | |||||||
代表符號 | W | H | Q | E | S | T | X |
持續時間 | 1 | 1/2 | 1/4 | 1/8 | 1/16 | 1/32 | 1/64 |
小節的持續時間是其所有音符的持續時間之和。
在Marcos的音樂中,每個小節的持續時間都相同。
由於Marcos只是一個初學者,他的著名老師"約翰·塞巴斯蒂安·巴哈"教授,認為每個小節的持續時間總和必須為1。
例如,Marcos撰寫了一個包含五種小節的圖,其中前四項具有正確的持續時間,而最後一項是錯誤的。
在下面的範例中,每個小節都用斜杠包圍,並且每個音符如上表所示。
/HH/QQQQ/XXXTXTEQH/W/HW/
Marcos也非常喜歡電腦。
他希望你寫一個程式,幫忙計算他的音樂有多少小節擁有正確的持續時間。
Input
每行包含一個字串s,代表Marcos的音樂。
該字串的長度length (3 <= length <= 200)
如果該字串為一個星號"*",代表輸入結束。
小節中的每個音符都由相應的大寫字母表示。
每一個音樂至少包含一個小節。
每一個小節至少包含一個音符。
輸入中的所有字符只會有"/"和表示音符的七個大寫字母。
Output
對於每行音樂,請輸出一個整數。
代表該音樂擁有正確持續時間的小節數量。
Sample Input #1
/HH/QQQQ/XXXTXTEQH/W/HW/ /W/W/SQHES/ /WE/TEX/THES/ *
Sample Output #1
4 3 0
python:
dic={'W':1,'H':0.5,'Q':0.25,'E':0.125,'S':0.0625,'T':0.03125,'X':0.015625} while True: try: arr=input().split('/') #這裡出來會是['','HH', 'QQQQ', 'XXXTXTEQH', 'W', 'HW',''],所以要把前跟後刪掉 if(arr==['*']):break arr=arr[1:-1] #print(arr) ans=0 #每一個條件符合就+1 for i in arr: arr1=[float(dic[j]) for j in i] #把每一個元素拆開,查dic,以符點數型態進去list arr1 #print(arr1) if(sum(arr1)==1):ans+=1 print(ans) except: break
文章標籤
全站熱搜