这是代码......
a=4
b=8.0
if a and a >0:
a=a*int(b)
print "Value:",a
期望的o / p应该是32.我也在python控制台中得到相同的结果。但是在我的产品中存在相同的代码,而不是32,输出将以44444444(八个四分之一)出现,即无论我用什么价值乘以“a”,它只是打印那么多。如果你给12,则将打印12个四肢。
知道这是什么问题吗?
答案 0 :(得分:10)
我敢打赌,你的产品a
实际上不是整数4,而是字符串'4'。
>>> a = '4'
>>> b=8.0
>>> if a and a >0:
... a=a*int(b)
... print "Value:",a
...
Value: 44444444
例如,如果您使用a = raw_input('Please enter a number: ')
之类的内容,则会发生这种情况,然后您忘记将字符串a
转换为数字。
答案 1 :(得分:6)
'a'必须是代码中的字符串:
>>> a = 4
>>> b = 8
>>> a * b
32
>>> a = "4"
>>> a * b
'44444444'
>>> int(a) * b
32
答案 2 :(得分:4)
看起来a
是一个字符串,而不是一个整数。试试这个:
a = int(a) * int(b)
希望有所帮助