Python3代码第4个测试点RE了,疑惑
查看原帖
Python3代码第4个测试点RE了,疑惑
475107
WuMei楼主2021/4/17 00:19

上代码:

#P1055 [NOIP2008 普及组] ISBN 号码

#输入ISBN号并转成列表
ISBN = input()
lis_ISBN = ISBN.split('-')

#计算和s
s = int(lis_ISBN[0])
i = 2
for each_number in lis_ISBN[1]:
    s += int(each_number) * i
    i += 1
for each_number in lis_ISBN[2]:
    s += int(each_number) * i
    i += 1

#按要求输出
if lis_ISBN[3] == 'X':
    lis_ISBN[3] = 10
if s % 11 == int(lis_ISBN[3]):
    print('Right')
else:
    if s % 11 != 10:
        lis_ISBN[3] = str(s % 11)
    else:
        lis_ISBN[3] = 'X'
    print('-'.join(lis_ISBN))

疑惑的地方在于:我下载了测试点4的数据,发现在本地运行没问题呀。 测试点4数据如下: 输入:

6-670-82162-X

输出:

Right

然后我只改动了一行代码就AC了。改动的地方是:原句:

if lis_ISBN[3] == 'X':

改为:

if not(lis_ISBN[3].isdigit()):

所以,“if lis_ISBN[3] == 'X':”为什么有问题呢?

2021/4/17 00:19
加载中...