多向循环输入和列表输入问题

问题描述 投票:0回答:1

第一次在论坛中提问。

我有问题。

我必须通过这样的垂直列表循环。

1
2
3
4
5
6
7
8
9
10
11

每个按Enter键而不是空格分隔。然后重新组织每个降序的项目/编号。

对于降序组织,我已经知道可以对其进行排序或反向排序。但是对于所有我尝试过的事情,我无法遍历垂直列表中的所有项目。它只读取1并结束循环,据我了解,它仅读取第一个列表,但我只是不知道如何通过垂直列表循环,无论是1个单个值还是一个矩阵。

这是我的代码

from pip._vendor.distlib.compat import raw_input

numbers = raw_input()
line = []

for row in numbers:
    line.append(row)
    print(line)
line.sort(reverse=True)
for value in line:
    print(value)

输入:

1
2
3
4
5
6
7
8
9
10
11

再次按回车键(而不是空格)输出:

['1']

感谢您的支持。

python-3.x list loops
1个回答
0
投票

raw_input会在您按下第一个Enter键后立即返回。

因此您需要将其包括在循环中。

当然,您随后需要更改终止循环的条件。

例如

numbers = []

while True:
    n = raw_input()
    if not n:
        break
    numbers.append(int(n))
    print(n)

numbers.sort(reverse=True)
for value in numbers:
    print(value)
© www.soinside.com 2019 - 2024. All rights reserved.