Повторение функции печати на новой строке каждый раз при печати - PullRequest
0 голосов
/ 31 декабря 2018

Так что я хочу, чтобы эта последняя функция печати печатала свою функцию в новой строке каждый раз, когда она печатает.Я пробовал разные "\ n" места размещения, чтобы это сработало, но безрезультатно.Любые советы?

from datetime import date
currentYear = date.today().year


print('Hi. What is your name?')
name = input()

while True:
    try:

        print('How old are you, ' + name + '?')
        age = int(input())

        if age >= 0:
            break

        else:
             print('That is not a valid number.')
    except ValueError:
        print('That is not a valid number')

 ageinHundred = 100 - int(age)
y = currentYear + int(ageinHundred)
t = 'You will be 100 years old in the year ' + str(int((y)))

print(t)

print('Give me another number')
num = input()

f = (int(num) * t)

print(f)

Я хочу, чтобы конечная функция печати (print (f)) печатала f несколько раз на новой строке каждый раз.Не один за другим, как это делает приведенный выше код.Спасибо!

Ответы [ 2 ]

0 голосов
/ 31 декабря 2018

Измените последнюю пару строк на:

# Put t inside a list so it does list multiplication instead
#  of string multiplication
f = int(num) * [t]

# Then join the individual f-lists with newlines and print
print("\n".join(f))

Для строки f = проверьте f, чтобы получить лучшее представление о том, что там происходит.

Для части join, join берет список строк, вставляет данную строку (в данном случае "\n"; перевод строки) и «объединяет» все это вместе.Привыкайте к использованию join.Это очень полезная функция.

0 голосов
/ 31 декабря 2018

Попробуйте это:

from datetime import date
currentYear = date.today().year

print('Hi. What is your name?')
name = input()

while True:
    try:

        print('How old are you, ' + name + '?')
        age = int(input())

        if age >= 0:
            break

        else:
             print('That is not a valid number.')
    except ValueError:
        print('That is not a valid number')

ageinHundred = 100 - int(age)
y = currentYear + int(ageinHundred)
t = 'You will be 100 years old in the year ' + str(int((y)))

print(t)

print('Give me another number')
num = input()

for i in range(0,int(num)):
    print(t)
...