离散:
(1)联结词集及其优先级
(2)真值表
真值表,最让人迷糊的就是p的真值是0,q的真值是0,p→q的真值是1,理解话虚假的前提可以推出任意结论
构造真值表关键在于从00……0开始,按二进制加法每次加1
Java:
在vscode上配置好了java环境 https://cloud.tencent.com/developer/article/2171197
利用软链接修改了vscode插件的安装位置 VScode 如何修改插件安装目录? - 知乎
Python:
(1)if-else语句的合并写法
if-else语句并成一句
比如原
score = 66
if 0 <= score < 60:
level = "D"
elif 60 <=score < 80:
level = "C"
elif 80 <= score < 90:
level = "B"
elif 90 <= score < 100:
level = "A"
elif score == 100:
level = "S"
else:
level = "请输入 0 ~ 100之间的分值"
print(level)
用一条语句表示
score = 66
level = ('D' if 0 <= score < 60 else
'C' if 60 <= score < 80 else
'B' if 80 <= score < 90 else
'A' if 90 <= score < 100 else
'S' if score == 100 else
"请输入 0 ~ 100 之间任意一个分值")
else也可以用在while循环中,主要差别在于循环里有break语句,这时循环条件依然是true,但强制退出了,则else里不会指行
(2)列表操作:增删查改
增:
①append()方法:向末尾增加一个元素
②extend()方法的参数必须是一个可迭代对象,新的内容追加到原列表最后一个元素的后面
③insert()方法:第一个参数表示位置,第二个表示元素
④切片
list[len(s):] = [6] 等价于 list.append(6)
list[len(s):] = [6, 7, 8] 等价于 list.extend([6, 7, 8])
删:
①remove()方法:
【1】只会删除找到的第一个待删除元素
【2】指定不存在会报错
②pop()方法参数是元素下标索引值
③清空全部:clear()方法
改:
改多个切片:list[3:] = [1, 2, 3]
从小到大排序:sort()方法
从大到小排序:
reverse()方法
或sort(reverse=True)
查
①count()方法查找某个元素出现次数
②index()方法查找某个元素(第一个找到的)下标
③copy()方法复制整个列表,等价于切片list2 = list[:](都是浅拷贝)
(3)列表运算:
list1 + list2 最后会将两个列表元素合并得到一个新列表
list * 3 会将列表中元素重复3次得到一个新列表
(4)嵌套列表:
A = [0] *3
for i in range(3):
A[i] = [0] * 3
B = [[0] * 3] * 3
这两种写法在python中存储如下
区别在于如果修改A[1][1],是[[0,0,0],[0,1,0],[0,0,0]]
而修改B[1][1],是[[0,1,0],[0,1,0],[0,1,0]]
所以要实现嵌套列表采用第一种循环写法
算法:
浙大数据结构第一周Maximum Subsequence Sum_piolet0016的博客-CSDN博客