这里是代码...的Python(2.X)乘法是没有发生正常
a=4
b=8.0
if a and a >0:
a=a*int(b)
print "Value:",a
所需的O/P应该是32.我也越来越在python控制台一样。但是同样的代码出现在我的产品中,而不是32的输出是44444444(八四),即无论什么价值我给与“a”乘以它只是打印这么多a的。如果你给12,那么会打印十二个四。
任何想法是什么问题?
这里是代码...的Python(2.X)乘法是没有发生正常
a=4
b=8.0
if a and a >0:
a=a*int(b)
print "Value:",a
所需的O/P应该是32.我也越来越在python控制台一样。但是同样的代码出现在我的产品中,而不是32的输出是44444444(八四),即无论什么价值我给与“a”乘以它只是打印这么多a的。如果你给12,那么会打印十二个四。
任何想法是什么问题?
我敢打赌你100 bob在你的产品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
转换成一个数字。
谢谢Wim,对!它通过某个函数获取的值,其默认返回值是String。呃小小的错误! – Reuben 2012-03-08 12:10:43
“一个”必须在你的代码的字符串:
>>> a = 4
>>> b = 8
>>> a * b
32
>>> a = "4"
>>> a * b
'44444444'
>>> int(a) * b
32
谢谢维诺,对!它通过某个函数获取的值,其默认返回值是String。呃愚蠢的错误! – Reuben 2012-03-08 12:11:26
这看起来像a
是一个字符串,而不是一个整数。试试这个:
a = int(a) * int(b)
希望帮助
代码不完全一样,例如在你的“产品”。显示你“提供价值”的部分。 – 2012-03-08 12:01:14