1、贫困县
# 自定义函数, def ,递归
#第一行包含一个正整数N,为村里家庭的总数。
# 第二行包含一个正实数L,表示贫困线。
n = int(input())
l = float(input())
# meaningful variable name
cnt = 0
for i in range(1,n+1):num = float(input())# 家庭收入小于贫困线if num < l:cnt += 1
print(cnt)
2、贫困县plus
# 第一行包含一个正整数N
n = int(input())
# 第二行包含一个正实数L,表示贫困线
l = float(input())
# 最后一行包含一个整数,为处于贫困线以下家庭的数量。
l_num = 0
for i in range(1,n+1):# 家庭名称是str类型,直接接收。无需转换类型family_name = input()family_num = int(input())total_income = 0.0for _ in range(family_num):income = float(input())total_income += incomeif total_income < l :l_num +=1# 总收入保留三位小数formated_income = "{:.3f}".format(total_income)print(family_name + " "+ formated_income)
print(l_num)
3、 凑钱
# 一个整数n
# 算法: 枚举法,穷举法
n = int(input())
for num_10 in range(0,n//10+1):for num_50 in range(0,n//50+1):if num_10*10 + num_50*50 == n:print(str(num_10) + " " + str(num_50))
4、 凑钱plus
n=int(input())
#张数最小的情况计数,float('inf')初始化为无穷大
min_sum_cnt =float('inf')
min_num_10 = float('inf')
min_num_20 = float('inf')
min_num_50 = float('inf')
# 用for循环的嵌套以及range(start, end, step)
# 巧妙的解决50,20,10的权重问题。
# 例如:n = 450, 最多9张50。
# 0 0 9
# 1 2 8
# .. 7
# ...
# .. 0
# for num_50 in range(450//50,-1,-1)
# range(450//50,-1,-1)
# 450//50 = 9
# range( 9,-1,-1) 枚举数字是从9开始8,7,....0张,for num_50 in range(n//50,-1,-1):left_amt = n - num_50*50for num_20 in range(left_amt//20,-1,-1):cur_amt = left_amt - num_20*20#把剩下的钱,计算出10元的张数num_10 = cur_amt//10# 每次枚举,计算一个当前的总张数cur_sum_cnt = num_10 + num_20 + num_50if cur_sum_cnt < min_sum_cnt:min_num_10 = num_10min_num_20 = num_20min_num_50 = num_50min_sum_cnt = cur_sum_cntprint(num_10,num_20,num_50)
print(min_num_10,min_num_20,min_num_50)