我想打印一个字符串,该字符串之后立即重复相同的字符。例如,如果输入为“ hello”,则程序将输出“ hheelllloo”。代码
for i in "hello":
print(i, end=i)
有效,但是我想我只是不明白。我希望这会产生与以下相同的输出:
for i in "hello":
print(i + i)
任何人都可以解释一下顶层代码的工作原理吗?
答案 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 =”“,可以覆盖此默认值,并在同一行上打印每次循环。