Python题 有点不理解

编写程序实现如下功能:1)输入40位学生的年龄,数值分布在10-40岁之间;2)统计小于25岁学生的总人数。

循环输入的时候就进行统计

sum = 0
for i in range(0,40):
    age = int(input())
    if age < 25:
        sum = sum + 1
print(sum)

1.写个循环,循环40次,循环里input,把输入append进一个list里
数值分布是对输入的要求,不是对代码的要求
2.可以循环判断小于25,自己定义个变量累加,也可以写个列表推导式再sum一下


num = 0
while not num:
    n = input('请输入人数:')
    if n.isnumeric():
        num = int(n)
    else:
        print('数据不合法')
ages = []
while len(ages) < num:
    n = input('请输入第 {} 位的年龄(10-40):'.format(len(ages) + 1))
    if n.isnumeric():
        age = int(n)
        if 10 <= age <= 40:
            ages.append(age)
        else:
            print('超出数据范围')
    else:
        print('数据不合法')
print('小于25的人数有 {} 个'.format(len([n for n in ages if n < 25])))

img

img

  • 这篇文章讲的很详细,请看:python题