对于刚接触python的初学者来说,在这种事情上并不是很擅长,所以请不要整顿我在reddit上的糟糕经历。
但是,我无法获得用户输入来重复该字符串x次,但是我无法使其在不同的行上重复。
我以多种不同的方式尝试了\ n多次(我使用的唯一东西),但是我只是得到了无效的语法,但我还没有真正尝试过多地更改基本代码。
age = int(input("how old are you?: "))
agedifference = 100 - age
print ("you will be 100 in",agedifference,"years") * int(input("pick a number: "))
所以基本上我需要用户选择一个数字(例如4),然后在4条不同的行上将短语重复4次。
如果您能给出一个带有深入解释的解决方案,我将不胜感激(没有深入了解新事物的想法)
答案 0 :(得分:0)
尝试一下(假设您使用的是python3):
age = int(input("how old are you?: "))
agedifference = 100 - age
print(f"you will be 100 in {agedifference} years\n" * int(input("pick a number: ")))
对于python2:
age = int(input("how old are you?: "))
agedifference = 100 - age
print("you will be 100 in {} years\n".format(agedifference) * int(input("pick a number: ")))
答案 1 :(得分:0)
针对您想要的内容有很多解决方案:
经典的for循环:
for _ in range(num):
print(f"you will be 100 in {agedifference} years")
在python中,打印默认情况下会结束该行,您可以通过修改函数的end
参数来更改此行为。
更多蟒蛇皮的衬里:
print('\n'.join([f"you will be 100 in {agedifference} years"] * num))
此功能利用了多种python功能:
str.join(iterable)
将通过串联包含在iterable
中的所有元素来创建一个字符串,并通过在两者之间添加str
来加入它们。 list * int
重复list
int
次中的所有元素。 答案 2 :(得分:0)
您也可以执行以下操作:
您要求用户输入年龄,然后计算年龄差异。
然后,您要求用户输入必须重复的时间。
然后使用for
循环将输出循环到用户指定的次数。
age = int(input("how old are you?: "))
agedifference = 100 - age
times = int(input("pick a number: "))
for i in range(0,times):
print ("you will be 100 in",agedifference,"years")
答案 3 :(得分:0)
代码发生的事情是您将print()
的返回值None
乘以用户输入的数字。相反,您应该重复在print()
函数中传递的字符串。
在此处调用print()
函数时,请确保打印的字符串以\n
结尾。同样,我的示例需要Python> = 3.6,因为该字符串的格式设置方式(在字符串之前带有'f'),因此它被称为literal string interpolation。
最后,要摆脱打印空行的最后一行返回,请将参数end=''
添加到对print()
的调用中(因为此字符已经在您的打印字符串中)。 / p>
age = int(input("how old are you?: "))
age_difference = 100 - age
repetitions = int(input("pick a number: "))
print(f"you will be 100 in {age_difference} years\n" * repetitions, end='')