首页 > 解决方案 > 用 5 和 7 硬币支付任何大笔金额

问题描述

开发一个 Python 方法 change(amount) ,对于 24 到 1000 范围内的任何整数数量,返回一个仅由数字 5 和 7 组成的列表,使得它们的总和等于数量。例如,change(28) 可能返回 [7, 7, 7, 7],而 change(49) 可能返回 [7, 7, 7, 7, 7, 7, 7] 或 [5, 5, 5, 5 , 5, 5, 5, 7, 7] 或 [7, 5, 5, 5, 5, 5, 5, 5, 7]。

要解决这个测验,请在您的机器上实现方法 change(amount),在几个输入上对其进行测试,然后将您的代码粘贴到下面的字段中,然后按提交测验按钮。您的提交应仅包含更改方法(特别是,请确保删除所有打印语句)。

标签: html

解决方案


刚开始编程,对此颇为自豪。干得好:

使用:打印(更改(金额))

def change(amount):

  if amount < 24 or amount > 1000:
    return 'error'

  array = []

  while True:
    if (amount/5).is_integer():
      for i in range(int(amount/5)):
        array.append(5)
      return array

    array.append(7)
    amount += -7

    while amount > 0:
      break

推荐阅读