0

致力于将代码从流程图工具移动到 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. 

感谢您的帮助,到目前为止,数组一直很棘手。

4

1 回答 1

1

你没有增加 g。g + g + 1应该阅读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 中都可以正常运行。

于 2013-11-14T16:08:02.893 回答