求助,python3,20分

P1320 压缩技术(续集版)

SvanurA @ 2023-01-08 16:54:31

if __name__ == '__main__':
    n = input().strip()

    print(len(n), end=" ")

    for i in range(len(n) - 1):
        n += input().strip()

    ans = 0
    i = 0
    while i < len(n):
        ans += 1
        if i == len(n) - 1 or n[i] != n[i + 1]:  # 如果与下一个数不一样或者为最后一位时,输出统计结果
            print(ans, end=" ")
            ans = 0  # 清除统计结果
        i += 1

我感觉逻辑好像有问题,但是又想不明白哪里有问题。求助大佬能够指点迷津。


by qiu_qian @ 2023-03-03 11:45:39

@SvanurA 我只知道第一个输出太早了,需要放在for循环后面,其它就不知道了,而且这样本地测试没问题,提交还是有错误

n = input()
a=len(n)
for i in range(len(n) - 1):
    n += input()
print(a, end=" ")
ans = 0
i = 0
while i < len(n):
    ans += 1
    if i == len(n) - 1 or n[i] != n[i + 1]:
        print(ans, end=" ")
        ans = 0
    i += 1

by qiu_qian @ 2023-03-03 12:20:30

@SvanurA 知道了,忘记判断第一个数是否为0了,然后还要把输入的数据的收尾空字符串要删除掉

n = input().strip()
a=len(n)
for i in range(len(n) - 1):
    n += input().strip()
print(a, end=" ")
if n[0] == '1':
    print(0,end=' ')
ans = 0
i = 0
while i < len(n):
    ans += 1
    if i == len(n) - 1 or n[i] != n[i + 1]:
        print(ans, end=" ")
        ans = 0
    i += 1

by SvanurA @ 2023-03-16 18:26:09

@uid_151961203 万分感谢大佬


|