代码如下:
#coding=utf-8# 从文件中加载数据
def load_numbers(file):
numbers = []
with open(file, 'r') as f:
for line in f.readlines():
numbers.append(int(line))
return numbers
if __name__ == '__main__':
# 从文件 data.txt 中加载数字
numbers = load_numbers('data.txt')
min = 10
# 区间上限
max = 30
# 统计区间数字个数
cnt = 0
for val in numbers:
# 如果不要包含上下限,去掉 = 号
if val >= min and val <= max:
cnt = cnt + 1
# 将结果保存到文件 result.txt 中
with open('result.txt', 'w') as f:
f.write('[%d,%d], %d' % (min, max, cnt))
print('done.')
不要使用内建函数的名字: list 作为变数名
你想要的区间重叠了, 比如说元素 50 就不知道要分在 0-50 还是 50-100 了
存取字典应该用 [] 而不是 ()!
我刚刚入门Python,下面是我的代码,可能很简陋,如果有什么意见望告知,相互学习:
'''给定一个年龄列表,输出以5为年龄分段的最多人数分段
'''
people_age=[12,56,78,48,56,23,36,2,45,23]#输入年龄
age_min=min(people_age)
age_max=max(people_age)
count=(age_max-age_min)//5
if count>0:
count+=1
fenduan=[0,]*count
for age in people_age:
fenduan[(age-age_min)//5]+=1
for i in range(len(fenduan)):
if(fenduan[i]==max(fenduan)):
print("%d~%d" %(age_min+i*5,age_min+i*5+5))