本代码只是个人理解,如果错误,请不吝指正
题目
小明有100元钱 打算买100本书,A类书籍5元一本,B类书籍3元一本,C类书籍1元两本,请用程序算出小明一共有多少种买法?
代码如下:
from itertools import product
def buy_books(money, book):
"""计算买书的几种方式"""
a_list = [a for a in range(int(money/5))]
b_list = [b for b in range(int(money/3))]
c_list = [c for c in range(book+1)]
num = 0
for a, b, c in product(a_list, b_list, c_list):
if a * 5 + b * 3 + c * 0.5 == money and a + b + c == book:
print('5元书买{}本,3元书买{}本,1元书买{}本'.format(a, b, c))
num += 1
return num
if __name__ == '__main__':
money = 100
book = 100
num = buy_books(money, book)
print(f"总共有{num}种买法")
结果:3种
网友评论