“for“的循环语句(python)

利用” for ”来判定集合内的元素是否符合计算要求比一般的“ if ”要简练的多。

单纯使用“ if ”语句会因为条件的叠加变得异常繁琐,在编写时漏掉一小部分条件也是难以避免的事实。

例如:分别输入五个人的成绩。求这五个人的总分、平均分。(成绩小于60分的不计算平均分

倘若只使用“ if ”语句,仅仅在“小于60分”上面就要穷举所有的可能性,即:2*2*2*2*2=32种。

但是利用“ for ”来制定寻找元素的标准就只需浏览一遍即刻。

如下:

score1 = int(input("1:"))
score2 = int(input("2:"))
score3 = int(input("3:"))
score4 = int(input("4:"))
score5 = int(input("5:"))
# 输入5个人的成绩
points = [score1,score2,score3,score4,score5]
sum = 0
count = 0
sum1 = 0
for point in points :
    sum1+=point
#(计算所有人的总分)
    if point > 60:  #(制定的标准:成绩大于60)
        sum += point #(“大于60”的成绩相加,求总分)
        count += 1 #(计算成绩大于60的人数)
print("成绩总分:" + str(sum1))
print("平均分:" + str(sum / count))
 

对上面程序进一步思考,以及进行优化——如果统计的学生人数以“十”或者“百”为单位,一个个的输入成绩未免太折磨人了,不是么。

sum=0
sum2=0#(统计及格的人的成绩总分)
count=0#(统计及格人数)
for i in range(1,6):
       score=int(input("输入第"+str(i)+"个人的成绩"))
#(直接输入第1人到第5人的成绩,相较于上面逐个"input"是不是简化了很多!

       sum+=score #(计算所有人的总分)
       if score>=60:#(判断是否及格)
           sum2+=score
           count+=1
print("sum=",sum)
if count!=0:#(假设无人及格,那么count应该为0,但是0不可作为分母,所以要排除这一可能性)
     print("avg=",sum2/count)#(count不能为0)
else:
     print("无人及格")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值