* 函数名:paySalary * 功能:换算纸币及硬币个数 * * * 纸币可使用面值有100元,50元,20元,10元,5元,2元和1元,硬币可使用面值有5角, * 2角和1角,在此程序中可不计算面值为分的硬币个数。
时间: 2023-04-09 11:01:41 浏览: 122
回答:可以回答这个问题。以下是一个可能的实现:
```python
def paySalary(salary):
notes = [100, 50, 20, 10, 5, 2, 1]
coins = [0.5, 0.2, 0.1]
counts = [0] * (len(notes) + len(coins))
total = int(salary * 10) # 转换为以分为单位的整数
for i, note in enumerate(notes):
counts[i] = total // note
total %= note
for i, coin in enumerate(coins):
counts[len(notes) + i] = int(total / coin)
total %= coin
return counts
```
这个函数接受一个以元为单位的工资数,返回一个列表,包含各种纸币和硬币的个数。例如,`paySalary(123.45)` 返回 `[1, 0, 1, 0, 0, 1, 3, 2, 0, 5]`,表示需要 1 张 100 元纸币,1 张 20 元纸币,1 枚 50 分硬币,3 枚 10 分硬币,2 枚 5 分硬币和 5 枚 1 分硬币。
阅读全文