Python: 每日一题 54
- 2017-11-27 13:41:00
- 六月
- 来源:
- http://bbs.fishc.com/thread-87693-1-1.html
- 转贴 467
首先,给出密度表:
- =======================
- | Density Chart |
- =======================
- | Honey | H | 1.36 |
- | Water | W | 1.00 |
- | Alcohol | A | 0.87 |
- | Oil | O | 0.80 |
- ----------------------
- [ [
- ['H', 'H', 'W', 'O'], ['O','O','O','O'],
- ['W', 'W', 'O', 'W'], => ['W','W','W','W'],
- ['H', 'H', 'O', 'O'] ['H','H','H','H']
- ] ]
杯子可能有大有小。如果,液体不能充满一层,那么它应该处于比较偏上偏左的位置(If a liquid doesn't fill a row, it floats to the top and to the left.)。
重点来了,请你仔细看下面的测试里面提供的函数参数,因为这里面提供了各种可能出现的情况。
- 分类三种液体的
- test.assert_equals(separate_liquids([['H', 'H', 'W', 'O'], ['W', 'W', 'O', 'W'], ['H', 'H', 'O', 'O']]), [['O', 'O', 'O', 'O'], ['W', 'W', 'W', 'W'], ['H', 'H', 'H', 'H']], "")
- 分类四种液体的
- test.assert_equals(
- separate_liquids([['A', 'A', 'O', 'H'], ['A', 'H', 'W', 'O'], ['W', 'W', 'A', 'W'], ['H', 'H', 'O', 'O']]), [['O', 'O', 'O', 'O'], ['A', 'A', 'A', 'A'], ['W', 'W', 'W', 'W'], ['H', 'H', 'H', 'H']], "")
- 一层液体的
- test.assert_equals(separate_liquids([['A', 'H', 'W', 'O']]), [['O', 'A', 'W', 'H']], "")
- 一列液体的
- test.assert_equals(separate_liquids([['A'], ['H'], ['W'], ['O']]), [['O'], ['A'], ['W'], ['H']], "")
- 空杯的
- test.assert_equals(separate_liquids([]), [], "Empty array should be returned if given."
发表评论