print("录入英语成绩,回车,录入-1,结束录入")
number = 0
while 1:
i = int(input("录入:"))
if i == -1: break
number += 1
exec("i%i=%i" % (number, i))
n = number
sum = 0
while number > 0:
exec("sum=sum+i%i" % number)
number -= 1
print("总分:%s\n平均分:%s" % (sum, sum / n))
以上是错误掩饰,我是看到题目时,尽可能的不去看结果。于是看到这个题目时,我想的是,数据有意义并存储。其实就是没好好审题。那时我就在想,该题之前,书中还没提到exec吧!书上会怎么写呢?
码完上面一段字,改错两个地方,一个是输入那里加上int,一个是后面先给sum定义赋值。
i=int(input("录入英语成绩,-1结束录入:"))
sum=0
count=0
while i!=-1:
sum=sum+i
count+=1
i=int(input("录入英语成绩,-1结束录入:"))
print("学生数:%s\n总分:%s\n平均分:%s\n"%(count,sum,sum/count))
和我一样审错题把问题搞复杂的,扣1
c=a/b
print(c)
print(a/b)
其实还是和教材不一样,书上是第一种方法,我用的是下面那种。跑一下对比下吧!
6.030555486679077
5.635790586471558
5.659188747406006
5.736059904098511
5.660043954849243
5.7185959815979
5.9855797290802
5.738065004348755
5.7706990242004395
5.821998834609985
5.702195405960083
5.685034990310669
并没有决定性的差异。
于是去看一下禅吧!
简单优于复杂,
复杂优于凌乱,
我觉得print里,数值是公式还没乱