1.环境的安装 Anaconda
重点步骤:打开jupyter Notebook(在开始菜单中找到)的目标文件夹修改指定的路径
2.python的注释 #为单行注释 ‘’’ 为多行注释
3.Python的运算符
a=2,b=3
3.1算术运算符
a/b a//b
例如2/3为0.6666,2//3为0;即/除以是有小数点的,//除以是取整 没有小数点的。
a ** b幂的运算
包含小数幂(根号)负号幂(负数)
支持科学计数法
5e3:5000.0
3.2逻辑运算符
True&False
布尔类型运算为逻辑运算
3.3位运算符
2 & 3结果为False
~2取反,结果为-3
3.4赋值运算符
没有a++,a–,其他相似
3.5成员运算
“e”not in “Hello”
3.6身份运算符
a =1
b=“1”
a is not b
3.7运算符的优先级。。。
4.标识符 略
5.变量:python中变量不需要声明,没有类型 ,数据有类型
6.数据类型
1.Number(数字)2.String(字符串)3.LIst(列表)4.Tuple(元组)5.Sets(集合)6.Dictionary(字典)
6.1列表,增删改查,支持+,*;不支持-,/
le=[1,2,3,4]
le.append(5) #添加
le #查看
le.remove(5)#删除
le
le.pop() #堆栈的栈顶元素
le[4][=500 #赋值
le[2::1] #切片访问 le[开始角标:结束角标:步长]
del le[3] #删除角标元素
6.2元组,不支修改和部分的删除,只能查
tup=(1,2,3,4)
tup #访问1,直接输出
tup[1] #访问2,直接访问元素
tup[ :3] #访问3,切片访问
6.3集合,
s1={1,2,3,4}
s2={1,2,3}
s1-s2 #差集
s1&s2 #交集
s1|s2 #并集
s1.add(100)
s1.remove(100)
s1.pop() #类比列表
6.4字典,
dit={“a”:“henu”,“b”:“rjxy”}
dit.keys()
dit.items()
dit.values()
#key值不可变,只能是数字,字符串或元组
dit[“a”]=“hndx”
print(dit[“a”]) #修改和输出
7.语句 调出帮助语句看语法参数,例如help(print) ; 调出dir看模块和内容dir(builtins)
7.1输出语句,
print(1,2,“123”,sep="-",end=" “) #以-为分隔符和以空格结束,例如/n就是以换行结束
print(1,2,“123”,sep=”-")
输入一个分数,加入一个异常处理
try:
fen = int(input(“请输入一个数字”)) #input默认字符串类型,转换一下
except:
print("输入错误")
fen = -1
if(fen>90):
print(“succ”)
elif(fen>80):
print(“suc”)
else:
print(“fail”)
换行符/:在代码中换行,/n在展示中换行
7.2循环语句,
while(True):
pass # 空行
for i in le:
print(i)
list(range(1,100,2)) #随机数
for i in range(100):
print(i,end=" ") #输出随机数,输出结果是0~99
S="asdsf"
for i in S:
print(i) #输出每个元素
for i,j in enumerate(S):
print(i,j) #角标一一对应输出
8.高级赋值,
a=b=c=1 #多重赋值
a,b,c=1,2,3 #多元赋值
b,c=c,b #变量交换赋值,bc互换,不需要中间变量
9.自带电池,打开:dir(builtins)
open函数用来操作文件内容
with open("a.py") as f
print(readlines()) #open函数的使用1,a.py为创建的python文件
f = open("a.py")
print(readlines()) #open函数的使用2
10.数学相关表示
10.1进制数
a =0b0101 #二进制
b =0o0101 #八进制
c =ox0101 # 十六进制
print(a,oct(b),c) #默认输出十进制,可进行强转输出其他进制
10.2正负无穷
float(“inf”)
float("-inf")
11.字符串有关操作
len(), range(), zip(), reversed() , sorted(), enumerate(), map(),reduce(),filter()
S=“Hello World”
H=“hello world”
len(S)
list(range(12))
list(zip(S,H)) # 输出会一一对应
list(reversed(S)) #倒序排列
list(sorted(S)) #按照数据大小排列
list(enumerate(S))
#enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
fliter函数过滤列表中的元素,根据true和false对数据进行保留
def h(x):
if x==" ":
return False
else:
retrun True
list(filter(h,S)) #输出去掉空格的S,注意转换成list
map函数,对列表中的每个数据进行操作,返回数据
def h1(x):
if (x!==" "):
return x+"--"
list(map(h1,S)) # 不为空格时每个输出加--,为空格时输出为None
reduce函数,对相邻两个数据进行操作
from functool import reduce
def h2(x,y):
if(x>y):
return x
else:
return y
reduce(h2,S)
列表表达式,
n = list(range(1,100))
#方法1
for i in n:
if(i%3==0&i%5==0):
print(i)
#方法2
[ i for i in n if i%3==0&i%5==0 ] # 使用列表表达式把1~100中被3和5整除的数放在一个列表中,具有书写局限性
练习
1 .
代码
n = list (range(1,100))
for i in n:
if(i%3==0):
print(i,end= " ")
输出结果
3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 81 84 87 90 93 96 99
2.
代码
str = input(" 请输入一个字符串")
length=len(str)
if length>=3:
str += 'ing'
elif length>=3|str.endswith('ing'):
str += 'ly'
else:
pass
print(str)
输出结果
请输入一个字符串henu
henuing
3.
代码
str=input("请输入字符串包含not和bad")
if str.index("bad")>str.index("not"):
str=str[0:str.index("not")]+" good "+str[str.index("bad")+3:] #注意这里后面的字符位置加3
print(str)
else:
pass
输出结果
请输入字符串包含not和badrjxy is not bad
rjxy is good
4.
代码
height=100
total=0
i=1
while True:
height*=0.5
i+=1
if i>6:break
print('弹起:',height)
height=100
i=1;
for i in range(1,7):
height*=0.5
if i<6:
continue
else:
print('弹起:',height)
输出结果
弹起: 1.5625
代码
a=int(input("数字1:"))
b=int(input("数字2:"))
for i in range(a,b+1): #注意这里b要加1
for j in range(2,i+1):
if i%j==0 and j<i:
print(i,'非素数')
break
elif j==i:
print(i,'素数')
输出结果
数字1:2
数字2:9
2 素数
3 素数
4 非素数
5 素数
6 非素数
7 素数
8 非素数
9 非素数
2.
代码
c=input( "输入一个数判断是否为回文数:")
if c==c[::-1]: #直接倒序输出完事儿
print('True')
else:
print('False')
输出结果
输入一个数判断是否为回文数:62426
True