亲宝软件园·资讯

展开

print()语句运行

宁萌Julie 人气:4

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

加载全部内容

相关教程
猜你喜欢
用户评论