8

我对 Python 还很陌生,所以我正在尝试一些简单的代码。但是,在其中一种实践中,我的代码应该在左侧显示一些以英寸为单位的数字,并在右侧显示数字的转换;

count = 1
conv = count * 2.54
print count, conv

我希望在它们之间留出一些空间来打印输出;

count = 1
conv = count * 2.54
print count,     conv

我不知道该怎么做。我到处搜索,但我只能找到试图摆脱空间的人。如果有人能引导我朝着正确的方向前进,我将不胜感激。

哦,我刚刚意识到我使用的是 Python 2.7,而不是3.x。不确定这是否重要。

4

11 回答 11

10

一个简单的方法是:

print str(count) + '  ' + str(conv)

如果您需要更多空格,只需将它们添加到字符串中:

print str(count) + '    ' + str(conv)

一种更奇特的方式,使用新语法进行字符串格式化:

print '{0}  {1}'.format(count, conv)

或者使用旧语法,将小数位数限制为两位:

print '%d  %.2f' % (count, conv)
于 2012-04-02T00:45:20.023 回答
4

改用字符串插值

print '%d   %f' % (count,conv)
于 2012-04-02T00:45:54.003 回答
3

或者,您可以使用ljust/rjust使格式更好。

print "%s%s" % (str(count).rjust(10), conv)

或者

print str(count).ljust(10), conv
于 2012-04-02T01:32:46.930 回答
2

一个快速警告,这是一个相当罗嗦的答案。

打印有时很棘手,我刚开始时遇到了一些问题。你想要的是在你打印它们之后在两个变量之间有几个空格吗?有很多方法可以做到这一点,如上面的答案所示。

这是你的代码:

count = 1
conv = count * 2.54
print count, conv

它的输出是这样的:

1 2.54

如果你想在两者之间有空格,你可以通过在它们之间粘贴一串空格来以天真的方式做到这一点。变量 count 和 conv 需要转换为字符串类型以将它们连接(连接)在一起。这是通过 str() 完成的。

print (str(count) + "           " + str(conv))
### Provides an output of:
1           2.54

要做到这一点是更新、更 Pythonic 的方式,我们使用 % 符号和一个字母来表示我们正在使用的值的种类。在这里,我使用下划线而不是空格来显示有多少。最后一个值之前的模数只是告诉python按照我们提供的顺序插入以下值。

print ('%i____%s' % (count, conv))
### provides an output of:
1____2.54

我将 %i 用于计数,因为它是一个整数,而 %s 用于转换,因为在该实例中使用 %i 将为我们提供“2”而不是“2.54” 从技术上讲,我可以同时使用两个 %s,但是都很好。

我希望这有帮助!

-约瑟夫

PS如果你想使你的格式变得复杂,你应该查看大量文本的prettyprint,例如字典和元组列表(作为pprint导入)以及自动制表符、间距和其他很酷的垃圾。

这是有关 python 文档中字符串的更多信息。 http://docs.python.org/library/string.html#module-string

于 2012-04-02T03:42:04.210 回答
2

你可以在 Python 3 中这样做:

print(a, b, sep=" ")
于 2019-09-14T04:21:48.603 回答
1

这是一种愚蠢/骇人的方式

print count,    
print conv
于 2012-04-02T01:28:27.213 回答
1

如果您只想打印而不是存储变量。您可以sep=在函数中使用参数print(),如下所示:

print("string", "string", sep="something between them")
space_num = 10

count = 1
conv = count * 2.54
print(count, conv, sep=" "*space_num)

如果要将值存储为一个变量,那么我认为最好使用f字符串,如下所示:

space_num = 10

count = 1
conv = count * 2.54

result = f"{count}{' ' * space_num}{conv}"
print(result)
于 2021-12-22T12:45:40.743 回答
0

您应该使用 python 显式转换标志 PEP-3101

'My name is {0!s:10} {1}'.format('Dunkin', 'Donuts')

'My name is Dunkin Donuts'

或者

'My name is %-10s %s' % ('Dunkin', 'Donuts')

'My name is Dunkin Donuts'

https://www.python.org/dev/peps/pep-3101/

于 2016-10-28T21:50:27.683 回答
0

print str(count) + ' ' + str(conv)- 这不起作用。但是,替换为我+的作品,

于 2016-08-25T22:48:52.507 回答
0
print( "hello " +k+ "  " +ln);

其中kln是变量

于 2020-04-04T10:41:13.993 回答
0

添加选项卡的一种简单方法是使用\t标签。

print '{0} \t {1}'.format(count, conv)
于 2019-07-22T14:48:06.580 回答