信息自救[Ongoing][Incomplete]
带有^表示较重要(个人认为)
配合 https://www.bilibili.com/video/BV1bP4y1q7b9/ 使用效果适当提升。
算法的五个特征:有穷性,确定性,可行性,有一个或零个输入,有至少一个输出
描述算法的三种方法:自然语言、流程图、伪代码 以及对这三者的理解
程序设计语言:机器语言->汇编语言->高级语言
^
Python常用数据类型:int整型(整数),float浮点型(小数),str字符串型(一些字符),bool布尔型(真/假),list列表(数据的有序集合)
(不考)可以通过 type(x) 的方法查看x的类型
Python类型转换:int(x) float(x) str(x) 将某数据转换为int/float/str (float->int时是直接取整数部分)
type(1) <class 'int'>
type("str1") <class 'str'>
type(-6.7) <class 'float'>
int (3.6) 3 float->int
int("323") 323 str->int
float(32) 32.0 int->float
float("-6.7") -6.7 __________(留给读者自己完成)
str(1) "1" __________(留给读者自己完成)
str(22333.433) "22333.433"__________(留给读者自己完成)
^
Python中的常量、变量与赋值符:
- 常量:123 , -667.7 , “s1ho1h 91a”,e(自然常数)
- 变量:在程序中可变的量。
- 变量命名规则:
1. 由大小写英文字母、数字或下划线组成。
非法: t&a , ##### , @\_@
2. 以英文字母或下划线为首字符,长度不限.
非法: 123d
3. 不能与 Python 保留字同名.
非法: True , import , if
(如果Markdown没出问题的话这三个词会有颜色,那就表示这三个词在python中有作用)
4. 大小写敏感。 (例:Apples和apples不是同一个变量)
合法变量名:days,a1_Jj_ , _main , true
A_wo_zhi_shi_xiang_gao_sui_ni_bian_liang_ming_chang_du_bu_xian
变量的数据类型由被赋值的数据对象的类型决定。
*(不考) 事实上,常见的python自带函数例如print,max,min等均能作为变量名(如图)
但是出于各种情况考虑最好不要使用这些词作为变量名,因为这个函数相当于被代替了。
^
Python 中的运算符与表达式
1.算术运算符(注意除法)
符号 | + | - | * | / | // | % | ** |
---|---|---|---|---|---|---|---|
含义 | 加 | 减 | 乘 | 除 | 整除(除法,然后取商的整数部分) | 取模(带余除法,然后取余数) | 乘方 |
优先级与数学中相同
2. 关系运算符(注意等号相关)
符号 | == | < | > | <= | => | != |
---|---|---|---|---|---|---|
含义 | 相等 | 小于 | 大于 | 小于等于 | 大于等于 | 不等于 |
3.逻辑运算符
符号 | not | and | or |
---|---|---|---|
含义 | 非(颠倒是非) | 与(同真为真,有假则假) | 或(同假则假,有真则真) |
类比集合 | 补集 | 交集 | 并集 |
优先级 not>and>or
总优先级:括号 > 算术运算符 > 关系运算符 > 逻辑运算符
表达式由 变量或常量 与 运算符组成
观察下列表达式与它的值
a = 20 #这三个不是表达式
b = 10 #这三个不是表达式
c = 40 #这三个不是表达式
a + b 30
a + b * 2 < c False
a / ( b + 1 ) 1.8181818181818181
c // ( a + b ) 1
not c % b == 0 False
not (a >= b) or (c <= 40) True
Python 中的注释(不考)
在Python中,#开头的视作注释
观察下列代码思考注释的作用
你不需要理解这段代码的具体意思,因为循环嵌套结构不考
#已知发金币规律:1,2,2,3,3,3,4,4,4,4......
#求若发n天金币,一共获得多少
n = int(input()) #表示有多少天
s = 0 #获得的金币数量
days = 1 #一共发了几天的金币
i=1 #今天发几金币
while days <= n:
j = 1 #已经有几天获得了i金币
while (j <= i) and (days <= n): #如果还要继续发金币
s = s + i
days = days + 1
j = j + 1
i = i + 1
print(s)
多在程序中使用注释能让你的代码便于理解,也能在一定程度上帮助你写代码
Python 中的内置函数与模块导入
常用函数 | 作用 | 举例 |
---|---|---|
print(x) | 将x打印(输出)到屏幕上 | \ |
str1=input() | 接受输入的数据到str1中 | 接受的类型为字符串型str |
abs(x) | 求绝对值 | abs(-1) -> 1 |
round(a,b) | 将小数a四舍五入到小数点后第b位 | round(3.146 ,2) -> 3.15 |
... | 待完善 | 待完善 |
import 导入某个模块/库
import math #导入math模块
print(math.sqrt(36)) #使用math模块内的函数sqrt求平方根
下面这两段代码与上一段等价
from math import * #导入math模块 所有内容
print(sqrt(36))
from math import sqrt #导入math模块中的sqrt函数
print(sqrt(36))
可以通过import xxx as x来给某个模块“取小名”
下面这段代码还是和上一段等价
import math as m
print(m.sqrt(36))
合格考范围内会使用的模块:待完善
名称 | 作用 | 常用缩写 |
---|---|---|
math | 包含一些数学常量(e,pi),一些数学函数(向上取整ceil(x) 向下取整floor(x) 阶乘factorial(x) ) | 无 |
numpy | 包含三角函数sin(),cos(),tan(),求平均值mean(),乘方pow(a,b)等数学函数 | np |
待完善 |
^
Python 中的字符串
字符串(str,string)是用单引号(' ')或双引号(" ") 括起来的一串字符,主要用于存储和表示文本,是 Python 中最常用的数据类型之一。计算机中文本的最基本单位是字符,包括可见字符和不可见字符(回车、空格等)。
一些可以给字符串使用的符号/函数
用法 | 作用/含义 | 举例(以str1="Hello",str2="world"为例) | 备注 |
---|---|---|---|
x+y | 将两个字符串拼接 | str1+","+str2+"!" 得到 "Hello,world!" | 若不同时为字符串则报错(你当然不能让一个字符串+1,但是你可以+"1") |
x*n | 将字符串x重复n遍 | str1*3 得到"HelloHelloHello" | 同上,必须一侧为字符串,一侧为整数,否则报错。 |
len(x) | 求字符串x的长度 | len(str1) 得到 5 | 空格记为一个字符 汉字也记为一个字符(不考) |
x>y(其他符号同理) | 按照字典序比较大小 | str1<str2为True "Hello">"h"为False | 可能不考,与长度无直接关系,按照ASCII码大小比较 |
^
Python 中的列表
列表(list)是以一对方括号“[ ]” 包围的数据集合,不同成员间以逗号“,”分隔,它可以把大量的数据放在一起,对其进行集中处理。列表中可以包含任何数据类型,也可以包含另一个列表。我们可以通过序号(index)来访问列表中的成员,list1[0]表示列表的第一个元素(即从0开始数)。
(不知道考不考)事实上,字符串也能用这样的方式来获取第i个字符。
用法 | 作用/含义 | 备注 |
---|---|---|
list1+list2 | 将两个列表拼接 | 同字符串 |
list1*n | 将列表list1重复n遍 | 同字符串 |
len(list1) | 求列表list1的长度 | 同字符串 |
sum(list1) | 求列表list1中各成员的和 | 只能用于数值相加 |
max(list1) | 求列表list1中各成员中最大值 | 列表中所有成员类型须相同 |
min(list1) | 求列表list1中各成员中最小值 | 列表中所有成员类型须相同 |
list1.append(x) | 在列表list1尾部追加成员x | |
list1.insert(i,x) | 在列表list1的第i位前插入成员x | 即插入后的第i号成员是x ,i 过大(超出列表范围)不会报错,此时等价于append |
list1.remove(x) | 删除列表list1中等于x的成员 | 有多个只删去第一个 |
(一定不考)list1>list2 | 比较两个列表大小 | 类似字典序,若list1[i]与list2[i]无法比较则报错 |
在IDLE(交互环境)下对列表操作的实例代码
列表的切片
待完成。
^
顺序、分支、循环结构的 Python实现
^
枚举法 与 枚举法的程序实现