将变量用作整数和字符串(Python)

时间:2011-08-07 01:26:56

标签: python

我想在同一个语句中使用变量作为整数和字符串。在BASIC中,它看起来像这样:

cnt = 0

while cnt < 10:
    cnt = cnt + 1
    print cnt + " + 1 = " + cnt + 1 

我理解它与Python有点不同(在将它们打印为字符串之前必须转换整数,但是这里使用诸如“cnt = str(cnt)”之类的函数似乎不能很好地工作)。这样做的简单方法是什么?

6 个答案:

答案 0 :(得分:6)

没有一个,因为Python是strongly typed

print '%d + 1 = %d' % (cnt, cnt + 1)

答案 1 :(得分:5)

对于Python 2.6+,format方法是构建包含其他值的字符串的首选方法:

'{0} + 1 = {1}'.format(cnt, cnt + 1)

答案 2 :(得分:3)

你几乎是对的;你只需要准确地告诉Python何时创建一个字符串。

>>> cnt = 0
>>> while cnt < 10:
...     cnt += 1
...     print str(cnt) + " + 1 = " + str(cnt + 1)
... 
1 + 1 = 2
2 + 1 = 3
3 + 1 = 4
4 + 1 = 5
5 + 1 = 6
6 + 1 = 7
7 + 1 = 8
8 + 1 = 9
9 + 1 = 10
10 + 1 = 11

严格来说,你并没有将cnt视为整数和字符串 - 它总是一个整数。

答案 3 :(得分:1)

print str(cnt) + " + 1 = " + str(cnt + 1)

print "%d + 1 = %d" % (cnt, cnt+1)

答案 4 :(得分:1)

cnt = 0

while cnt < 10:
    print str(cnt) + " + 1 = " + str(cnt + 1)
    cnt = cnt + 1

for cnt in range(10):
    print str(cnt) + " + 1 = " + str(cnt + 1)

for cnt in range(10):
    print "%d + 1 = %d".format(cnt, cnt + 1)

答案 5 :(得分:1)

您可以打印int以及str。如果你知道很可能自己编写print cnt而没有明确地将它放入字符串中,你可能会对某些答案感到困惑。

字符串格式化语言非常有用且功能强大,您需要了解它。但是编写

是完全没问题的
print cnt, "+ 1 =", cnt + 1

这与你提出的要求更接近。 Python会自动在参数之间添加空格,并在行尾添加换行符(为了抑制它,最后添加另一个逗号)。