了解:
9.数据类型:
(1)基本数据类型
整型:正负整数和0
浮点型:带小数点的小数
复数型:有实部和虚部组成
布尔类型:逻辑值True和False
字符串:用’…‘or’‘…’‘or’‘’…‘’’
运算:‘…’+‘…’(字符串连接)
‘…’*整数数值(字符串重复)
(2)序列数据类型
元组(tuple):元素在小括号()中,之间有逗号分隔,如果只有一个元素,后面的逗号不能少,元素不能修改。
列表(list):元素在中括号[]中,之间有逗号分隔,元素可以修改。
字典(dict):元素在大括号{ }中,有逗号分隔,元素形式“键:值”
集合(set):元素在大括号{ }中,有逗号分隔,元素不能重复。
(3)数据类型的转换:
int()/float()/eval()/str()/ord()/chr(x)/tuple()/list()
bin(二进制)/oct(八进制)/hex(十六进制)/chr(i)
10.数据运算符和表达式
(1)算数:+,-,*,/(一般除法),//(向下取整,地板除),%(求余取模),**(幂)
(2)赋值:=、+=、-=、*=
(3)关系:==,!=,>=,<=,<,>
(4)逻辑: and,or,not
(5)成员:in ,not in
(6)同一性测试(身份):is ,is not
(7)位:|(或)、^(异或)、&(与)、<<(左移位)、>>(右移位)、~(非)
11.运算符优先级:高到低排序
**---->*,/,//,%,+,- ----> >>,<<,&,^,| ----> 关系运算符 ---->赋值 ----> 身份 ----> 成员 -----> 逻辑
12.程序的基本结构:
(1)顺序结构
(2)选择(分支)结构
if<条件1>:
代码1
elif<条件2>:
代码2
else:
代码3
(3)循环结构
for i in range(1,n)(n取不到)
while:
break continue
15.内置函数
len(变量名):求字符串的或者列表的个数
16.字符串:
(1)一个有序的序列:可以正向递增(0到n-1)或者反向递减(-1到-n)
(2)索引:s[序列号]
(3)切片:s[起始序列号:终止序列号](前闭后开)
17.列表:是一个可变的有序序列,里面的元素是任意类型的,不要求必须一致,用[ ]描述元素,用逗号隔开。
(1)函数(方法):
求个数值:
len():列表元素的个数
max():最大值(元素类型相同时)
min():最小值
sum():元素之和(元素是数字)
count():指定对象出现的次数
index():求出指定对象的首次出现的索引位置
增加元素:
append():在末端插入元素
insert(m,n):在元素n插入到指定m的位置
extend():将多个元素以列表的形式(迭代对象)插入到列表末尾
+:列表的连接
*:元素的复制(repeat)
删除元素:
remove():移除首次出现的指定对象
pop(括号里可填0-n):删除并返回列表指定位置的元素,默认为最后一个元素
del命令:删除列表中指定位置上的元素或者列表本身
排序元素
sort():对元素升序排序
reverse():逆序排序
其他
copy()返回列表对象的浅复制
zip()将多个列表或元组对应位置的元素组合成元组的函数
enumerate():枚举列表、元组或者其他迭代对象元素的函数
18.元组(tuple):是一个不可更改的有序序列用()描述,用逗号隔开。
(1)序列封包:把多个值赋给一个变量时,会自动把多个值封装成元组。
(2)元组解包:把一个元组直接赋给多个变量时,会把序列中的各个元素依次赋给每个变量,但是变量个数和变量个数相等
19.函数
(1)实现一定功能的代码块。
(2)格式:
def 函数名 ([形式参数1][形式参数2]…):
[return 表达式返回值]
(3)注意事项:函数名不能和内建函数和变量名重名,符合标识符命名规则。形参表写在函数名后面的圆括号里,用逗号分开;要用冒号结束函数头;允许嵌套定义函数,函数可以返回任意个类型的值(数值,字符串,bool型,列表)
1.函数定义:
def JiuJiuKouJue():
for i in range(1,10):
for j in range(1,i+1):
print('{}*{}={}'.format(j,i,i*j),end='\t')
print('\n')
函数在jupyter nodebook的调用
JiuJiuKouJue()
案例1:编写函数求三角形面积
def S(a,h):
s=1/2*a*h
return s
aa=float(input('请输入三角形的底边a=')) #从键盘上输入底边
ah=float(input('请输入三角形的高h='))
Area=S(aa,ah) #函数S的调用
print('此三角形的面积S={:.2f}'.format(Area))
3.函数嵌套
#求(1!)^2+(2!)^2+...+(6!)^2的和,P112 in book
def main():
sumFac=0
i=1
while i<=6:
sumFac+=squareFac(i)
i=i+1
print('前6个整数的阶乘之和',sumFac)
def squareFac(n):
return factorial(n)*factorial(n)
def factorial(k):
fac=1
i=1
while i<=k:
fac*=i
i=i+1
return fac
main()
4.函数递归
#通过函数的递归调用求n!
def main():
n=int(input('请输入一个整数n:'))
if n<0:
print('输入错误')
else:
print(factorial(n))
def factorial(k):
if(k==0|k==1):
return 1
else:
return k*factorial(k-1)
main()
def factorial(k):
if(k==0|k==1):
return 1
else:
return k*factorial(k-1)
def fengShu(k):
return 1/(factorial(k))
def main():
count=int(input('请输入一个参数'))
sumFac=1
i=1
while i<=count+1:
sumFac+=fengShu(i)
i=i+1
print('最后的值是:%.3f'%sumFac)
main()
365天,一周五天工作每天进步1%,两天休息退步1%,一年后的进退步情况
def DayUp():
dayup = 1
for i in range(1,366):
if i%7 in [4,3,5]:
dayup = dayup*(1+0.01)
elif i%7 in [1,2]:
dayup = dayup*(1-0.01)
else:
dayup = dayup
print('一年之后进步了%.2f'%dayup)
DayUp()