找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1288|回复: 1

[求助] python分支语句的实现

1

主题

1

帖子

1

积分

贫民

积分
1
小豆丁 发表于 2021-9-7 17:51:41 | 显示全部楼层 |阅读模式
小明去买玩具,每个玩具的价格分别为6元、13元、15元、20元,小计想把钱用光同时尽量玩具数量最多(优先花完钱),输入小计的零花钱,输出每种价格玩具购买的数量(小计的零花钱为大于等于35元的整钱)。#(那位大佬帮忙解决一下)
回复

使用道具 举报

0

主题

102

帖子

102

积分

侠客

积分
102
傻眼貓咪 发表于 2021-9-9 13:16:44 | 显示全部楼层
如果只是 6元、13元、15元、20元,零用錢 35元整
代碼:
  1. from itertools import permutati**
  2. toys = [6, 13, 15, 20]
  3. buy = [[list(price) for price in permutati**(toys, i) if sum(price) == 35] for i in range(len(toys))]
  4. res = []
  5. for i in buy:
  6.     if i:
  7.         for j in i:
  8.             if sorted(j) not in res:
  9.                 res.append(j[:])
  10. print(*res)
复制代码
  1. [15, 20]
复制代码
如果涉及其他輸入可能性,就不能用這代碼,因為考慮到購買某樣玩具可能不止一次,又或者玩具種類多至上百種,零錢極大數值等問題

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表