结束for循环Python

时间:2019-10-18 20:09:52

标签: python-3.x

我想打印一个字符串,该字符串之后立即重复相同的字符。例如,如果输入为“ hello”,则程序将输出“ hheelllloo”。代码

for i in "hello":
  print(i, end=i)

有效,但是我想我只是不明白。我希望这会产生与以下相同的输出:

for i in "hello":
  print(i + i)

任何人都可以解释一下顶层代码的工作原理吗?

3 个答案:

答案 0 :(得分:3)

end的默认值是换行符。所以第二个选项等效于:

for i in "hello":
  print(i + i, end='\n')

您可以用第二种方法做类似的事情

for i in "hello":
  print(i + i, end='')

因为这将end显式设置为空字符串,所以不会额外打印任何内容。

答案 1 :(得分:1)

print(x)将在其输出的字符串末尾添加换行符。

摆脱这种情况的一种方法是设置end=''使其附加一个空字符串(等同于根本不附加任何内容):

for i in "hello":
  print(i + i, end='')

答案 2 :(得分:1)

其他答案到此为止有点circuit回曲折,但基本思想是“ end”的默认值是换行符,因此,每次运行循环时,它将打印换行符,并打印每次后续迭代在新的一行上。通过将end更改为“ end = i”或“ i + i,end =”“,可以覆盖此默认值,并在同一行上打印每次循环。