python - 录入英语成绩,-1结束录入,求学生人数、总分、平均分。看到题目的瞬间,你是否会理错题?

本文探讨了一道关于使用Python录入并处理英语成绩的题目,作者分享了自己初看题目时的误解,强调了审题的重要性。通过对比书中方法与个人实现,得出结论:简单和清晰在编程中至关重要。
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里,数值是公式还没乱

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值