如何首先输入所有数据,然后在python中给出所有输出?

时间:2019-05-09 14:46:53

标签: python python-3.x loops class

我是编程的新手,我需要您的帮助来解决问题。

我做了一个代码,像这样的循环输入:

for x in range (2):
    name = input('name   : ')
    age = input('age    : ')

    print()

    print('name', name)
    print('age', age)

    print('---------------')

输出是这样的。

name   : garox
age    : 29

name garox
age 29
---------------
name   : supri
age    : 16

name supri
age 16
---------------

我希望将输出与每个输入分开,像这样:

---  input ---
name   : garox
age    : 29

name   : supri
age    : 16

--- output ----
name garox
age 29

name supri
age 16

所以我想先输入所有数据,然后在完成所有输入后再输出。

还使用循环,而不是一步一步地“打印”。 可能吗?如果是这样,我该怎么办?

提前谢谢。


感谢您的回答!确实可以帮助我更好地理解它。

我试图将其放在一个类中。但是我遇到了这个错误:

    Dataa.looop(self)
NameError: name 'self' is not defined

这是我安排代码的方式。

class Dataa():
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def looop (self):
        list = []

        for x in range(2):
            name = input('name   : ')
            age = input('age    : ')
            list.append({'name': name, 'age': age})

        for input in list:
            print('name', input['name'])
            print('age', input['age'])
            print('---------------')

Dataa.looop(self)

如何调用循环定义,以便进行输入?

2 个答案:

答案 0 :(得分:2)

尝试通过将输入字符串添加到列表来进行此操作:

persons=[]
print("-----input------")
for x in range (2):
    name = input('name   : ')
    age = input('age    : ')

    persons.append([name,age])

print('--------output-------')
for x in persons:
    print("name:",x[0])
    print("age:", x[1])

结果:

-----input------
name   : name1
age    : 30
name   : name2
age    : 30

--------output-------
name: name1
age: 30
name: name2
age: 30

答案 1 :(得分:0)

您可以创建一个列表,该列表将使用两个键将每个输入存储为字典:名称和年龄。

然后创建两个for循环:第一个循环存储输入,第二个循环打印数据。我认为这种方法更好,因为您可以使用它来添加任意数量的对象。

persons = []

for x in range (2):
    name = input('name   : ')
    age = input('age    : ')
    country = input('country    : ')
    persons.append({'name': name, 'age': age, 'country': country})

for input in persons:
    print('name', input['name'])
    print('age', input['age'])
    print('country', input['country'])
    print('---------------')

输出:

name : john
age : 27
name : david
age : 17
name john
age 27
----------------
name david
age 17
----------------