请帮忙看看,为什么本机geany测试没问题,提交洛谷就是RE。

P5730 【深基5.例10】显示屏

renliantao @ 2023-12-31 20:33:42

digit={}
digit[0]={}
digit[0][0]="XXX"
digit[0][1]="X.X"
digit[0][2]="X.X"
digit[0][3]="X.X"
digit[0][4]="XXX"
digit[1]={}
digit[1][0]="..X"
digit[1][1]="..X"
digit[1][2]="..X"
digit[1][3]="..X"
digit[1][4]="..X"
digit[2]={}
digit[2][0]="XXX"
digit[2][1]="..X"
digit[2][2]="XXX"
digit[2][3]="X.."
digit[2][4]="XXX"
digit[3]={}
digit[3][0]="XXX"
digit[3][1]="..X"
digit[3][2]="XXX"
digit[3][3]="..X"
digit[3][4]="XXX"
digit[4]={}
digit[4][0]="X.X"
digit[4][1]="X.X"
digit[4][2]="XXX"
digit[4][3]="..X"
digit[4][4]="..X"
digit[5]={}
digit[5][0]="XXX"
digit[5][1]="X.."
digit[5][2]="XXX"
digit[5][3]="..X"
digit[5][4]="XXX"
digit[6]={}
digit[6][0]="XXX"
digit[6][1]="X.."
digit[6][2]="XXX"
digit[6][3]="X.X"
digit[6][4]="XXX"
digit[7]={}
digit[7][0]="XXX"
digit[7][1]="..X"
digit[7][2]="..X"
digit[7][3]="..X"
digit[7][4]="..X"
digit[8]={}
digit[8][0]="XXX"
digit[8][1]="X.X"
digit[8][2]="XXX"
digit[8][3]="X.X"
digit[8][4]="XXX"
digit[9]={}
digit[9][0]="XXX"
digit[9][1]="X.X"
digit[9][2]="XXX"
digit[9][3]="..X"
digit[9][4]="XXX"

n=int(input())
s1=input()
nums=[int(s) for s in s1]   

for j in range(0,5):
    for m in range(n):
        i=nums[m]
        if m==n-1:
            print(digit[i][j],end="")       
        else:
            print(digit[i][j],end=".")
    if j<4:
        print()

by zippermonkey @ 2024-01-06 20:20:45

确实 俺也一样


by zippermonkey @ 2024-01-06 20:27:44

俺知道了 原因是luogu的输入带了\r

比如输入

10
0123456789

在你的代码中s1会是'0123456789\r',然后nums=[int(s) for s in s1] int 就会RE


by renliantao @ 2024-01-07 20:20:58

@zippermonkey 十分感谢,问题解决啦!太感谢了。 python

第一版我的代码geany能运行,洛谷不认:

s1=input() nums=[int(s) for s in s1]

改成了下面这个,geany也行了,洛谷也行了:

s = input().strip() nums=[] for i in s: nums.append(int(i))


|