计数函数只计算我列表的最后一行

时间:2015-06-22 08:45:55

标签: python python-2.7

计算仅计算列表最后一行的函数

output$select1 <- renderUI({
if (input$select == "No")
  return()

else radioButtons(
  inputId="select1",
  label="Some additional selector",
  choices=list(
    "Yes",
    "No"
  ),
  selected="No",
  inline=TRUE)
})

output$option2 <- renderUI({
  if (input$select == "Yes"){
    if (input$select1 == "Yes"){
      textInput("option2", "Some textInput: "), 
    }
    else return()
  }
})

如果我提供输入: -

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`

1 个答案:

答案 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))