我对Python很新,所以我正在尝试一些简单的代码。但是,在其中一种做法中,我的代码应该在左边以英寸显示一些数字,在右边显示数字的转换;
count = 1
conv = count * 2.54
print count, conv
我希望打印输出之间有一些空格;
count = 1
conv = count * 2.54
print count, conv
我无法弄清楚如何做到这一点。我到处搜索,但我能找到的只是人们试图摆脱空间。如果有人能带领我朝着正确的方向前进,我会感激不尽。
哦,我刚刚意识到我使用的是Python 2.7,而不是3.x 。不确定这是否重要。
答案 0 :(得分:8)
一种简单的方法是:
print str(count) + ' ' + str(conv)
如果您需要更多空格,只需将它们添加到字符串中:
print str(count) + ' ' + str(conv)
一种更高级的方式,使用新的字符串格式语法:
print '{0} {1}'.format(count, conv)
或者使用旧语法,将小数位数限制为2:
print '%d %.2f' % (count, conv)
答案 1 :(得分:4)
改为使用string interpolation。
print '%d %f' % (count,conv)
答案 2 :(得分:3)
或者,您可以使用ljust/rjust使格式更好。
print "%s%s" % (str(count).rjust(10), conv)
或
print str(count).ljust(10), conv
答案 3 :(得分: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用于conv,因为在该实例中使用%i会为我们提供“2”而不是“2.54”技术上,我可以使用两个% s,但一切都很好。
我希望这有帮助!
-Joseph
P.S。 如果你想使你的格式变得复杂,你应该查看大量文本的prettyprint,如字典和元组列表(导入为pprint)以及 它有自动标签,间距和其他酷垃圾。
这里有一些关于python文档中字符串的更多信息。 http://docs.python.org/library/string.html#module-string
答案 4 :(得分:2)
您可以在python3中这样做:
print(a,b,end =“”)
答案 5 :(得分:1)
这是一种愚蠢/愚蠢的方式
print count,
print conv
答案 6 :(得分:0)
print str(count) + ' ' + str(conv)
- 这不起作用。但是,将+
替换为,
对我有用
答案 7 :(得分:0)
您应该使用python Explicit Conversion Flag 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'
答案 8 :(得分:0)
print( "hello " +k+ " " +ln);
其中k
和ln
是变量
答案 9 :(得分:-1)
添加标签的一种简单方法是使用\t
标签。
print '{0} \t {1}'.format(count, conv)