如何防止在打印值时出现空格

时间:2019-07-16 13:41:33

标签: python python-3.x

每当我使用这一行代码时,字母“ e”周围都会出现空格,我试图避免这种情况。即使这不是代码中的主要问题,也将有助于使其更好地阅读。

我试图重新调整代码的布局,但是没有成功

print("The value of", '\033[1m', '\033[4m', "e", '\033[0m', "is", math.e)

输出为

The value of  e  is 2.718281828459045

但是我更希望结果是

The value of e is 2.718281828459045

(“ e”周围只有1个空格)

(请注意,字母“ e”在输出中为粗体并带有下划线,以便正常工作。)

3 个答案:

答案 0 :(得分:2)

使用string formatting

import math
print("The value of {} is {}".format("e", math.e)

如果要包括粗体和下划线:

import math
print("The value of {}{}{}{} is {}".format('\033[1m', '\033[4m', "e", '\033[0m',  math.e))

答案 1 :(得分:1)

为避免print()在其参数之间打印空格,请使用sep关键字:

print('No', 'Space', '!', sep='')

打印:

  

NoSpace!

但是,对于打印该字符串,将f限定符用于字符串插值(需要Python 3.6+)和一个用于ANSI转义的库可能是有益的,例如blessed

import math
import blessed

t = blessed.Terminal()

import math
print(f"The value of {t.bold}{t.underline}e{t.normal} is {math.e}")

对于早期版本的Python,您可以使用.format(**locals())构造,该构造(几乎)等效于f字符串插值:

import math
import blessed

t = blessed.Terminal()

import math

print("The value of {t.bold}{t.underline}e{t.normal} is {math.e}".format(**locals()))

编辑:添加了更多说明)。

答案 2 :(得分:1)

无需使用字符串格式并导入有福。试试这个:

  

'\ 033 [0m'= ResetAll

     

'\ 033 [1m'=粗体

     

'\ 033 [4m'=下划线

print ("The value of" + '\033[1m', '\033[4m' + "e" + '\033[0m',"is",math.e)

输出:

enter image description here