网站/小程序/APP个性化定制开发,二开,改版等服务,加扣:8582-36016

    这篇文章主要介绍了如何做到在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,

     


    评论 0

    暂无评论
    0
    0
    0
    立即
    投稿
    发表
    评论
    返回
    顶部