Python 中如何在 print() 显示后不换行?

内容概要: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,

本文对您有帮助的话,请点赞支持一下吧,谢谢!

关注我 宁萌Julie,互相学习,多多交流呀!

参考:https://www.tutorialspoint.com/how-to-print-in-same-line-in-python

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值