【python小白】一道百思不得为何错的考试习题

  • 👇是原题

  • 👇我写的代码
def f(n):
    b=''
    for i in n[:-1]:
        b+=i+' '
    b+=n[-1]
    return b

n=eval(input())
a=''
for i in range(5):
   ls=[]
   st=input()+' '
   sc=input()
   for j in st:
       if j==' ':
           if a!=sc:
             ls.append(a)
           a=''
           continue
       else:
           a+=j
   print(f(ls))
  • 👇报错
    Traceback (most recent call last):
      File "a.py", line 24, in <module>
        print(f(ls))
      File "a.py", line 5, in f
        b+=n[-1]
    IndexError: list index out of range

    他这里说out of range 我好难理解哦,我想了很久,甚至把range改大了也没有用...我想可能是我哪个语句有问题了...

  • 向大家求助一下,老师一直不回我,我...做不对就一直卡着好难受!!有人能理解这种窒息的痛么!

n=int(input())

a=[]
for i in range(n):
   st=input().split(" ")
   sc=input()
   sf = [x for x in st if x!=sc]
   a.append(sf)

for v in a:
   print(" ".join(v))

用remove也可以实现。

n = eval(input())
for i in range(n):
    st = input().strip().split(' ')
    sc = input()
    for _ in range(len(st)):
        if sc in st:
            st.remove(sc)
    print(' '.join(st))

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y