现有的货币面值为100,50,25三种。现在有n个人需要买票,且排队顺序不许变,请你根据他们手中的钱计算出,售票机能否进行找零。可以则返回yes,不可以则返回no
- def tickets(people):
- # your code
- return ?
- 例:
- tickets([25,25,50]) --->'yes'
- tickets([25,50]) --->'yes'
- tickets([25,100]) --->'no'
- tickets([50,50,100]) --->'no'
- tickets([25,50,100]) --->'no'
- print(tickets([100, 50, 25, 25])) --->'no' # 由于排队数序不许变,这个本可以交易的组合无法进行交易。
- 给出一段测试代码,避免你们自己去兑答案了。
- 以下代码保存为test.py,后import可用
- def assert_equals(func, target):
- if func == target:
- print('Success!')
- else:
- print('Fail!{0} not equals {1}'.format(func, target))
- test.assert_equals(tickets([25, 25, 50]), 'YES')
- test.assert_equals(tickets([25, 100]), 'NO')
- test.assert_equals(tickets([25, 25, 25, 25, 25, 25, 25, 25, 25, 25]), 'YES')
- test.assert_equals(tickets([50, 50, 50, 50, 50, 50, 50, 50, 50, 50]), 'NO')
- test.assert_equals(tickets([100, 100, 100, 100, 100, 100, 100, 100, 100, 100]), 'NO')
- test.assert_equals(tickets([25, 25, 25, 25, 50, 100, 50]), 'YES')
- test.assert_equals(tickets([50, 100, 100]), 'NO')
- test.assert_equals(tickets([25, 25, 100]), 'NO')
- test.assert_equals(tickets([25, 25, 50]), 'YES')
- test.assert_equals(tickets([25, 25, 25, 25, 25, 25, 25, 50, 50, 50, 100, 100, 100, 100]),'NO')
- test.assert_equals(tickets([25, 100]), 'NO')
- test.assert_equals(tickets([50, 50, 100]), 'NO')
- test.assert_equals(tickets([25, 50, 100]), 'NO')
- test.assert_equals(tickets([25, 25, 50, 50, 100]), 'NO')
- test.assert_equals(tickets([100, 50, 25, 25]), 'NO')