как сначала ввести все данные, а затем дать весь вывод в python? - PullRequest
2 голосов
/ 09 мая 2019

Я новичок в программировании, и мне нужна ваша помощь в решении моей проблемы.

Я сделал код, циклический ввод выглядит так:

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 ]

2 голосов
/ 09 мая 2019

Попробуйте добавить строки ввода в список:

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
0 голосов
/ 09 мая 2019

Вы можете создать список, который будет хранить каждый ввод в виде словаря с двумя ключами: имя и возраст.

Затем вы создаете два цикла 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
----------------
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...