python3的for i in range()使用注意事项!

for i in range(1,10)真的是让我啃了好多骨头,恨。

python的循环结构使用以上语法,range()相当于是一个数组,默认地址从0开始,表示i遍历函数中的每个值。
可简写为for i in range(10),表示从0开始,到9结束的10个数。

求任意个输入数字的平均值,要求当输入负数时停止输入。

拿到题目时第一反应是用for循环输入,但不知如何存放数据。

第一个做法是创建了一个数组lst[]来存放数据,再用sum()函数求和,用len()函数求数组长度,语法知识掌握得不够,无解。

第二个做法是采用累加的方法求和。有三个错误:(1)把输入语句放在了循环体之外,导致不能循环输入,按下enter键就报错(2)累加语句写的avg+=a/i,天真的认为当前均值=每次均值相加。错!(3)改正累加语句后分母写的i,错!输入第一个数据时 i=0 ,第一轮输入就报错,应改为(i+1).代码如下:

avg=0
s=0
for i in range(30):
        a=eval(input("分数:"))
        if a<0:
                break
        else:
                s+=a
                avg=s/(i+1)
print("平均分数是:"+str(avg))

运行结果:
python3的for i in range()使用注意事项!_第1张图片

你可能感兴趣的:(python)