消除lis中1到100之间的数字

2024-03-29 10:56:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经编写了一个代码,应该输入用户的数字,并报告从1到100的数字,从他们的输入丢失。你知道吗

我的代码如下,但不起作用:

num_list = []

number = input('Enter numbers (remember a space): ')

number.split()

num_list.append(number)

for i in range(1, 101):
  if i in num_list:
    continue
  else:
    print(i, end =', ')

代码输出从1到100的所有数字,但不排除这些数字。你知道吗

注意:代码必须排除输入的所有数字,而不仅仅是一个数字。你知道吗

例如,如果用户输入了1 2 3 4,输出应该从5开始,列出数字到100。你知道吗


Tags: 代码用户innumberinput报告数字space
1条回答
网友
1楼 · 发布于 2024-03-29 10:56:09

有三个问题

1)您没有保存split方法返回的列表

result = number.split()

2)用extend代替append

num_list.extend(result)

3)默认情况下input将所有内容读取为字符串,拆分后需要将它们从string转换为int,下面是使用List Comprehensions的示例

result = [int(x) for x in number.split()]

附加:只会在列表末尾添加一个项目

所以在您的情况下,在附加用户输入后,您的列表将

num_list.append(number) #[[1,2,3,4,5]] so use extend

扩展:通过追加iterable中的所有项来扩展列表。你知道吗

num_list.append(number) #[1,2,3,4,5] 

注意:如果num_list为空,可以直接使用resultfrom split方法,不需要extend

相关问题 更多 >