Python 2.7.5,获取数组/列表的总和,正确使用len和输出结果

时间:2013-11-14 16:06:37

标签: python arrays list loops

正在将代码从流程图工具移动到python,加载了一个有3个学生年龄的数组,想要得到3个年龄的总和,我是python的新手,想知道你是怎么做到的,运行我所拥有的错误,到目前为止,这是我的代码:

#g is my index, sample input was: 35,25,50 
st_age = [0]*3 
for g in range(0,3):
    st_age[g] = int(input("Enter student age "))

g = 1
sum = 0 
while g < len(st_age): #am I using this correctly? 
    sum = sum + st_age[g]
    g + g + 1

print sum #I get a zero this way. 

谢谢你的帮助,到目前为止阵列一直很棘手。

1 个答案:

答案 0 :(得分:1)

你没有增加g。 g + g + 1 shoudl阅读g = g + 1

python中的索引也是从0开始的,因此你的起始值应该是g = 0

python也有一个整洁的内置sum

print sum(st_age)

所以你的固定代码可以读取:

st_age = [0]*3 
for g in range(3):
    st_age[g] = int(input("Enter student age "))

g = sum = 0 
while g < len(st_age): #am I using this correctly? 
    sum = sum + st_age[g]
    g += 1

print sum

或者使用列表理解和内置sum

st_age = [int(input("Enter student age ")) for _ in range(3) ]
print (sum(st_age)) #Note extra parentheses

我添加了额外的括号,因此你的代码在python 2和3中都可以正常运行。