2015-06-22 59 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