1. 程式人生 > 其它 >cxzday11函式作業2

cxzday11函式作業2

技術標籤:python

  1. 寫一個匿名函式,判斷指定的年是否是閏年

    year = lambda year1: year1 % 4 == 0 and year1 % 100 != 0 or year1 % 400 == 0
    
  2. 寫一個函式將一個指定的列表中的元素逆序( 如[1, 2, 3] -> [3, 2, 1])(注意:不要使用列表自帶的逆序函式)

    list1 = lambda list2: list2[::-1]
    
  3. 寫一個函式,獲取指定列表中指定元素的下標(如果指定元素有多個,將每個元素的下標都返回)

    例如: 列表是:[1, 3, 4, 1] ,元素是1, 返回:0,3

    def index1
    (list1: list, item): count = 0 str1 = [] for x in list1: if x == item: str1.append(count) count += 1 return str1
  4. 編寫一個函式,計算一個整數的各位數的平方和

例如: sum1(12) -> 51的平方加上2的平方)    sum1(123) -> 14
def sum2(int1: int):
    str1 = str(int1)
    s = 0
    for x in
str1: s += int(x)**2 return s
  1. 求列表 nums 中絕對值最大的元素
例如:nums = [-23, 100, 89, -56, -234, 123], 最大值是:-234
nums = [-23, 100, 89, -56, -234, 123]
def x(item):
        if item < 0:
            item = -item
        return item
result = max(nums, key=x)
print(result)
  1. 已經列表points中儲存的是每個點的座標(座標是用元組表示的,第一個值是x座標,第二個值是y座標)

    points = [
      (10, 20), (0, 100), (20, 30), (-10, 20), (30, -100)
    ]
    

    1)獲取列表中y座標最大的點

s =dict(points)
result1 = max(s, key=lambda item: s[item])
print(result1,s[result1])


2)獲取列表中x座標最小的點

```python
s =dict(points)
result2 = min(s)
print(result2,s[result2])

3)獲取列表中距離原點最遠的點

s =dict(points)
result3 = max(s,key=lambda item: (item**2+s[item]**2)**0.5)
print(result3,s[result3])

4)將點按照點到x軸的距離大小從大到小排序

result1 = sorted(points, key=lambda item: item[1], reverse=True)
print(result1)