#28498: [Python] max有參數key可以使用


406490150@gms.tku.edu.tw (我是朱朱)

學校 : 國立交通大學
編號 : 139794
來源 : [140.113.236.122]
最後登入時間 :
2022-09-03 11:13:16
f707. 幸運 7 (Lucky Seven) -- TOI練習賽202103新手組第2題 | From: [140.113.236.122] | 發表日期 : 2021-12-14 12:57

1. 如何讀到0就停止

一般轉換成int可以使用

map(int, input().split())

那如果讀到零要停止,可以使用itertools.takewhile(但這題似乎零都是在最後一位)

takewhile(lambda x:x!=0, map(int, input().split())

 

2.

max有參數key可以使用,類似sorted的key方法,比較的內容可以使用tuple,會依序比較

key=lambda x:(x%7==0, x%70 if x%7==0 else -x%77)

如上述,會先比較1 or 0,1(也就是x是7的倍數)比較大

如果是7的餘數則%70,否則%77中較小(加負號會使比較方向相反,也就會是取負數中最大的)

 

3.

直接print(max(iterable, key=))就是答案

 
ZeroJudge Forum