自习时长周报:enumerate 与 divmod
二级大纲点名「基本的 Python 内置函数」,不用 import 就能用。除了 len max min sum abs round range eval,还常考:
divmod(150, 60) # (2, 30):商和余数一起给
list(enumerate(['a', 'b'], 1)) # [(1, 'a'), (2, 'b')]:带上序号,第二个参数是起始号(默认 0)
list(zip(['小林', '阿杰'], [85, 92])) # [('小林', 85), ('阿杰', 92)]:两列配成对
sorted([3, 1, 2], reverse=True) # [3, 2, 1]:返回新列表,原列表不变
all([1, 2, 0]), any([0, 0, 3]) # (False, True):全为真 / 有一个为真
ord('A'), chr(98) # (65, 'b'):字符和编码互转
下面的程序读入一行,是你一周里每天自习的分钟数(英文逗号隔开,至少两天),输出每天的时长、合计几小时几分钟、最长的是第几天。 它能运行,但有两处写错了:编号从「第0天」开始,合计也算反了。请改好。
样例:输入 60,90,输出:
第1天:60分钟
第2天:90分钟
合计:2小时30分钟
最长:第2天