2015-06-22 60 views
1

Count函數的最後一行只算我的清單最後一行計數功能只算我的清單

N = int(raw_input()) 
cnt = [] 
for i in range(N): 
    string = raw_input() 
for j in range(1,len(string)): 
    if string[j] =='K': 
     cnt.append('R') 
    elif string[j] =='R': 
     cnt.append('R') 
if string[0] == 'k': 
    cnt.append('k') 
elif string[0] == 'R': 
    cnt.append('R') 
print cnt.count('R') 

,如果我給輸入: -

2 
RKKRK 
RKKR` 

這是給最後一行的答案只有 的RKKR

+2

的樣子;你認爲'在範圍(N)'循環中結束? –

+0

字符串變量是在寫RKKR和第一輸入RKKRK丟失,所以串只包含RKKRK – Bharadwaj

+0

是妳正確的,但我該如何解決售後服務它 –

回答

1

我不知道你到底想要達到什麼目的,但是如果你想在字符串中計算R和K,有更多的方法可以實現它。但爲了您的參考,我修改了您的代碼。

N = int(raw_input()) 
s = [] 
for i in range(N): 
    s.append(raw_input()) 
for string in s: 
    cnt = [] 
    for j in range(1,len(string)): 
     if string[j] =='K': 
      cnt.append('R') 
     elif string[j] =='R': 
      cnt.append('R') 
    if string[0] == 'k': 
     cnt.append('k') 
    elif string[0] == 'R': 
     cnt.append('R') 
    print cnt.count('R') 

每次你得到一個原始輸入但是在這裏我只是追加然後每輸入到一個列表一次處理一個接一個時間你已經在寫字符串。

僅供參考 - 下面的代碼會做密切關注您的壓痕工作做得更好

N = int(raw_input()) 
s = [] 
for i in range(N): 
    s.append(raw_input()) 
for string in s: 
    print len(filter(lambda x: x in ("R","K"), string)) 
+0

@akshaysingh如果這個答案可以幫助你考慮接受它 – k4vin