如何使Python中的print()语句运行结果不换行
作者:宁萌Julie 时间:2023-08-03 18:22:54
内容概要:print()
是一个常用函数。那么,您是否注意过,print() 会在显示当前语句后换行。如果遇到需要连续显示、不换行的情况,比如在循环中使用 print(),应该怎么办呢?本文介绍了这个问题的解决方法。
在做猜字谜游戏的程序设计时,需要把可选的字母显示出来。字母集是以字典的形式({字母: 个数})存储的。比如:{‘g’: 1,‘o’: 2,‘d’: 1},显示格式为:g o o d。
我们首先会想到使用循环。对于字母集中的每个 {字母: 个数} 对,把字母打印个数遍即可。
如下代码所示:
letters={'g': 1,'o': 2,'d': 1}
for letter in letters.keys():
for i in range(letters[letter]):
print(letter)
运行结果为:
g
o
o
d
从结果可以看出,print()
函数自带换行符,这样一个字母就占了一行,而设想的是字母集的所有字母显示为一行(g o o d)。
问题是,怎么才能让 print() 函数不换行呢?
解决方法:print()
函数有一个内置参数 end
,使用 print() 时默认为 end=‘\n’。如果想要不换行显示,只要根据需要,把 end 设置为‘’(空字符)或‘ ’(空格符)即可。
下面我们结合例子来看看,仍然显示前面例子中的字符集: letters={‘g’: 1,‘o’: 2,‘d’: 1}
。
1.print() 函数默认设置为:end=’\n’
for letter in letters.keys():
for i in range(letters[letter]):
print(letter,end='\n')
运行结果为:
g
o
o
d
可以看到,print(letter,end='\n')
和print(letter)
的结果相同。
2.end=’’(空字符),不换行,字符连续显示
for letter in letters.keys():
for i in range(letters[letter]):
print(letter,end='')
运行结果为:
good
3.end=’ '(空格符),不换行,字符间有空格
for letter in letters.keys():
for i in range(letters[letter]):
print(letter,end=' ')
运行结果为:
g o o d
这个结果正是本文开头设想的显示效果。
此外,end 也可以设置为其它的分隔符,比如end=’,’
,
如下代码所示:
for letter in letters.keys():
for i in range(letters[letter]):
print(letter,end=',')
运行结果为:
g,o,o,d,
来源:https://blog.csdn.net/applebear1123/article/details/123619897