如何在python中执行加法和除法

时间:2015-02-20 11:31:21

标签: python python-2.7

我想获得列表中所有数字的总和。我的代码如下所示;但是,当我尝试运行它时出现错误:

c = [795557,757894,711411,556286,477322,426243,361643,350722]
for c1 in c:
   x = x + c1

我也试图将一个数字除以另一个数字。但是,结果始终为零:

y=(273591/21247633)*100

3 个答案:

答案 0 :(得分:2)

在第一种情况下,您需要先定义x,然后再使用c1代替c

x = 0
c=[795557,757894,711411,556286,477322,426243,361643,350722]
for c1 in c:
    x=x+c1
print x

您可以在线试用此代码here


在第二种情况下,您需要use floating point numbers而不是整数:

y=(273591/21247633.0)*100
print y

这是因为Python 2.x中整数整数除法的结果也是整数。在这种情况下,273591 ÷ 21247633 = 0.0128763048571因此结果会向下舍入为0

This has changed in Python 3.x,您可以在Python 2.x中启用相同的行为,如下所示:

from __future__ import division
y=(273591/21247633)*100
print y

答案 1 :(得分:0)

您忘记将x初始化为0,此语句应为x = x + c1而不是x = x + c

可能这些数字用作整数。使用它们的浮点值应该有所帮助。

 y = (float(273591)/21247633)*100

答案 2 :(得分:0)

如果您想在列表中获得总和数字,请使用sum

c = [795557,757894,711411,556286,477322,426243,361643,350722]
x = sum(c)

对于第二个,int/int向下舍入int,因此273591/21247633返回0。将一个(或所有)数字转换为浮点数,它将等待:

y = (273591. / 21247633.) * 100.