Python 1-03 基础语法测试

基础语法测试

1、注册 Leetcode
2、学会使用平台

223. 矩形面积

知识点: return, max(), .min()

class Solution:
    def computeArea(self, ax1: int, ay1: int, ax2: int, ay2: int, bx1: int, by1: int, bx2: int, by2: int) -> int:
        a = (ax1 - ax2) * (ay1 - ay2)
        b = (bx2 - bx1) * (by2 - by1) 
        w = min(ax2, bx2) - max(ax1, bx1)
        h = min(ay2, by2) - max(ay1, by1)
        c = max(w, 0) * max(h, 0)
        
        return a + b - c

数学技巧 具有挑战性

两个矩形,如何求解公共部分面积,如何统一包含、相交和相离的情况。

Python 基础语法

1、标识符: 只包含字母、数字、下划线(_),汉字也可以,但数字不能开头,自定义标识符不能使用关键字,如:min max if for 等,它们是留给系统用的。
2、变量: 事实上是一个地址,就象一个宿舍或几个宿舍,如:402 宿舍,这学期你住,下学期可能其他人住。地址是不变的,但内容是可变的。
3、=: 这里的等号不是指相等和数学中的概念不同,这里叫 赋值运算符,b402 = “应用3班”,表示现在 应用3班b402 教室上课,用编程语言来讲,就是 “应用3班” 赋给 b402,前者是值(字符串),后者是变量。
4、==:双等于号是判断左右两边相等,是 比较运算符,相等结果为 真(True)、不相等为 假(False)。如:b402 == “应用3班”,如果 3班 不在 b402,为假,在为真。
5、min(a, b)、max(a, b) 内置函数,最简单的应用取两数的最小/大值。

a, b, c = 1, 2, 3
a = b = c = 10 # ▲ 等价于 a = 10; b = a; c = a 

Python 可以按元组装包与解包赋值;简单的说就是一对一赋值。

class Solution:  # 声明 Solution 类 
    def computeArea(self, ax1: int, ay1: int, ...) -> int: # 定义方法 computeArea 

Python max()、min() 内置函数

函数功能为取传入的多个参数中的最大值,或者传入的 可迭代对象 元素中的最大值。

max(iterable, *[, key, default])
max(arg1, arg2, *args[, key])

参数:
默认 数值型 参数,取值大者; 字符型 参数,取字母表排序靠后者。
key 可做为一个函数,用来 指定取最大值的方法
default 用来指定最大值不存在时返回的 默认值
arg1 字符型参数/数值型参数,默认数值型。

返回值:最大值。

max(1,2,3,4,5,6) # 1、传入多个参数取最大值(元组、列表、集合)。
max('12345') # '5' # 2、传入可迭代对象时,取其元素最大值。
max((), default = 1) # 3、传入可迭代对象为空时,必须指定参数 default,用来返回默认值。
max([]) # ValueError: max() arg is an empty sequence
# 4、传入命名参数 key,其为一个函数,用来指定取最大值的方法。
student = [{'name': 'li', 'age': 24},{'name': 'he', 'age': 45} ]
max(student, key = lambda x: x['age']) # {'name': 'he', 'age': 45}

你可能感兴趣的:(Python,教学,python,linux,数据库)