打印最大连续1个';python中的s

打印最大连续1个';python中的s,python,Python,我正试图在python中打印最大数量的连续1…但我被困在这里…IDK为什么我会出现语法错误…奇怪…有人能帮我解决吗 li2 = [] t = int(input()) for i in range(0, t): //testcases n = int(input()) for i in range(n): //length of list(binary array) li = list(map(int, input().strip().split())

我正试图在python中打印最大数量的连续1…但我被困在这里…IDK为什么我会出现语法错误…奇怪…有人能帮我解决吗

li2 = []
t = int(input())
for i in range(0, t):    //testcases
    n = int(input())
    for i in range(n):    //length of list(binary array)
        li = list(map(int, input().strip().split())
        count = 0
        max_count=0
        for i in range(len(li)):
            if (li[i] == 0):
                count = 0
            else:
                count += 1
                max_count = max(max_count,count)  
        li2.append(max_count)
                  
            
for i in range(len(li2)):
    print(li2[i]) 
文件“”,第7行
计数=0
^
SyntaxError:无效语法

更正:

li2 = []
t = int(input())
for i in range(0, t):    #testcases
    n = int(input())
    li = list(map(int, input().strip().split())) #<--- before that loop is removed.
    count = 0
    max_count=0
    for i in range(len(li)):
        if (li[i] != 1):  #<------- Here
            count = 0
        else:
            count += 1
        max_count = max(max_count,count)  #<--- here
    li2.append(max_count)
print() 
for i in range(len(li2)):
    print(li2[i])

更正:

li2 = []
t = int(input())
for i in range(0, t):    #testcases
    n = int(input())
    li = list(map(int, input().strip().split())) #<--- before that loop is removed.
    count = 0
    max_count=0
    for i in range(len(li)):
        if (li[i] != 1):  #<------- Here
            count = 0
        else:
            count += 1
        max_count = max(max_count,count)  #<--- here
    li2.append(max_count)
print() 
for i in range(len(li2)):
    print(li2[i])

使用内联函数改进上述答案

li2=[]
t=int(输入())
对于范围(0,t)内的i:#测试用例
n=int(输入())
li=''.join(输入().split())
li=[n如果n=='1'则为'0'表示li中的n]#将非'1'的数字替换为'0'
max_count=max(映射(len),.join(li).split('0'))#按“0”拆分,并从每个1的
li2.追加(最大计数)
打印()
对于范围内的i(len(li2)):
打印(li2[i])

使用内联函数改进上述答案

li2=[]
t=int(输入())
对于范围(0,t)内的i:#测试用例
n=int(输入())
li=''.join(输入().split())
li=[n如果n=='1'则为'0'表示li中的n]#将非'1'的数字替换为'0'
max_count=max(映射(len),.join(li).split('0'))#按“0”拆分,并从每个1的
li2.追加(最大计数)
打印()
对于范围内的i(len(li2)):
打印(li2[i])

第一条注释应该由pythonBracket中的
#
定义,而不是由
/
定义<代码>列表(映射(int,input().strip().split())ohh很抱歉,我现在编辑了它…让人们知道为什么会有这样的循环created@Pygirl多谢了,顺便说一句,我觉得逻辑似乎是错误的。第一条注释应该由pythonBracket中的
定义,而不是由
/
定义<代码>列表(映射(int,input().strip().split())ohh很抱歉,我现在编辑了它…让人们知道为什么会有这样的循环created@Pygirl多谢了,对我来说,TTW逻辑似乎是错误的。是的,它工作得很好,谢谢……但是为什么要删除FOR循环??
list(map(int,input().strip().split())
你用对了吗?你是这样输入的:
211
这就是为什么Ooh好的..明白了吗pp它可以工作谢谢..但是为什么要删除FOR循环???
list(map(int,input().strip().split())
你用对了吗?你是这样输入的:
211
,这就是为什么好的..明白了吗
3
5
2 1 1 1 1
3 
2 3 4
7
1 2 3 1 1 1 1

4
0
4