如何从python解释器提供几行输入,而不是一个文件?

2024-04-27 03:55:46 发布

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

我在学Python。我想我的程序采取输入(姓名和年龄)和添加到列表元组,排序输入年龄和打印出来。我不知道输入的大小。你知道吗

我的代码:

list = []
while(True):
    try:
        name,age = input().split()
        list.append((age,name))
    except StopIteration:
        break
list.sort()
print(list)

输入:

DUCHESS 26
MARIE 8
BERLIOZ 8
TOULOUSE 7
THOMAS 28

我有两个问题:

1)如何在我的解释器中运行这个.py文件?当我键入所有输入并按enter ValueError: need more than 0 values to unpack时,它会给出这个错误消息

2)即使我在ideone上运行这个程序,它也会给出运行时错误消息。我做错什么了?你知道吗

还有,解决这个问题的最佳方法是什么?使用dictionary?你知道吗


Tags: 代码name程序true消息列表age排序
1条回答
网友
1楼 · 发布于 2024-04-27 03:55:46

如果有人输入空字符串,则''.split()返回[],因此不能a,b = []。它抛出ValueError而不是StopIteration。你知道吗

以下是固定版本:

list = []
while True:
    try:
        name,age = input().split()
        list.append((age,name))
    except Exception:
        break
list.sort()
print(list)

输出:

sait@Saits-MacBook-Pro:~/Desktop$ python3 a.py
DUCHESS 26
MARIE 8
BERLIOZ 8
TOULOUSE 7
THOMAS 28

[('26', 'DUCHESS'), ('28', 'THOMAS'), ('7', 'TOULOUSE'), ('8', 'BERLIOZ'), ('8', 'MARIE')]

相关问题 更多 >