不清楚我还有哪里没考虑到,总有一个案例始终有问题,不要看代码请看图片

img

img


不好意思,他说不能输入同样的符号,就直接拍图片。下面的这个是为了过检查,不用看。

s=input().split(' ')
a=s[1]
b=s[2]
c=s[-1]
n=len(c)
for i in (1,n-4):
if str.isdigit(c[i-1:i+3]):
print(f'姓名:{a}')
print(f'班级:{b}')
print(f'出生:{c[i-1:i+3]}年')

你的if判断有问题,应该先判断列表中有没有重复的值,如果不能插入就不用逐个检查了。
另外换个思路,插入的数字本身的位置就可以输出,也不用逐个检查
另外还要注意下输出的格式,是带括号的列表,还是不带括号,空格隔开元素输出?

ls = list(map(int,input().split()))
n = int(input())
if n in ls:
    print('Fail')
    print(ls)
else:
    ls.append(n)
    ls.sort()
    print(ls.index(n))
    print(ls)

你打印了多次,数组范围控制一下

img


改了下

img

肯定有问题啊,如果n比列表中的数都要大,就插在最后,你没考虑