每次打印时使打印功能在新行上重复

Making a print function repeat on a new line everytime it prints

所以我希望这个最终的打印函数在每次打印时都在一个新行上打印它的功能。我尝试了各种“\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。不像上面的代码现在一个接一个。 谢谢!

试试这个:

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)

将最后几行更改为:

# 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";一个换行符),然后 "joins" 它全部一起。习惯使用 join。这是一个非常有用的功能。