2014-01-08 26 views
-1

这是代码:我无法将变量从整数转换成字符串

import time 
import os 
os.system("cls") 
a=1 
while True: 
    if a>512: 
     a=1 
     print (a + " kb") 
    if a<1024: 
     print (a + " bytes") 
    a *= 2 
    time.sleep(.5) 

但它给我这个错误:

> Traceback (most recent call last): 
>  File "Sequence1.py", line 10, in <module> 
>   print (a + " bytes") 
>  TypeError: unsupported operand type(s) for +: 'int' and 'str' 

如果我把它改成一个字符串,然后如果我声明不起作用。对不起,如果这个问题之前已经问过。谢谢。

+1

'“{0} bytes”.format(a)'。 :/ – Amelia

+1

链接下列网站可能很有用。 http://stackoverflow.com/questions/20441035/unsupported-operand-types-for-int-and-str – Jamescode0b

回答

0

虽然您需要a为您的逻辑整数,但您只需将它作为字符串用于表示目的。所以只有在打印时才进行转换。如你所知,你有几种方法可以做到这一点。其中一些:

print('{0} bytes'.format(a)) 

print('%s bytes' % a) 

print(str(a) + ' bytes') 
+0

谢谢,我编辑的吧:) –

+0

好吧,我去了三线,现在怎么办我继续说它后kb? – DBK