【问题标题】:Stuck on where to insert a line break when there are no quotation marks没有引号时卡在哪里插入换行符
【发布时间】:2018-09-19 19:28:42
【问题描述】:

我已经完成了一个代码挑战,其中一个附加功能是编写一行代码来打印之前的结果(我已经完成了)

print(str(year)*int(number))

但它也说在每个返回值之间放置一个换行符。 因此,例如 var 'year' 返回一个 int 并且该 int 被打印为某个 次数取决于用户输入的内容。

我只是不知道“\n”在这行代码中的位置。

 print(str(year)*int(number)) 

【问题讨论】:

  • 你试图把它放在哪里?什么没有奏效? -returned- 值与打印值不同。
  • 只是循环打印年份?不清楚您到底在寻找什么。
  • 您是否仅限于编辑您给出的行,或者您是否允许以不同的方式编写它?

标签: python string python-3.x line-breaks


【解决方案1】:

你可以使用一个简单的循环:

for _ in range(number):
    print(year)

这将默认插入\n - 因为每个打印都是一个单独的命令,并且默认的end=\n 打印参数适用。

Patrick Haugh 在使用 print-commands 参数sep 时领先我 50 秒,让您可以指定在打印值之间放置的内容:

print(1,2,3,4,sep="\n") 

这会在每个数字之间打印一个换行符 - 默认情况下它会打印一个空格。

您可以将收集到的数字放在一个列表中,将列表分解到其元素中并使用 \n 分隔符打印出来:

year = 18
number= 3
print( *[year]*number ,sep="\n")

更多内容请见

【讨论】:

    【解决方案2】:

    您可以在print 的单独参数之间打印一个分隔符,该分隔符将出现在它们之间而不是空格

    print('a', 'b', sep='\n')
    

    我们可以使用参数解包来提供number许多参数给print,并用'\n'分隔它们

    year = 2000
    number = 5
    print(*[year]*number, sep='\n')
    

    打印

    2000
    2000
    2000
    2000
    2000
    

    【讨论】:

      猜你喜欢
      • 2012-10-15
      • 1970-01-01
      • 2010-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-05
      • 2013-07-18
      相关资源
      最近更新 更多