写在前面:学习环境–pycham+python3.12.4
第一章
1.1 注释
一般用#来表示注释 如# 我是注释;
多行注释为’‘’ ‘’'或者多个"“” “”" .
1.2 print 函数
类似于其他语言的打印函数,但是更高级一点。它可以调整间距和是否打印换行符。其基本结构如下所示:
通过str和end参数来进行调整,两个参数的默认值如上图所示。
同时多变量的打印方法通常如下代码所示:
print("今天是 %d年 %02d月 %d日,%s,天气%s,温度%2.f" % (year, month, day,week, weather, temp))
1.3 input
这里值得注意的是,input的返回值是一个字符串。
如果要进行整数操作,记得进行数据的转换。
1.4 随堂小联系
个人名片
name = input("请输入你的名字:")
company = input("请输入你的公司:")
position = input("请输入你的职位:")
telephone = input("请输入你的电话:")
email = input("请输入你的邮箱:")
print("*****************************")
print("你的名字是:", name,sep="")
print("你的公司是:", company, sep="")
print("你的职位是:", position, sep="")
print("你的电话是:", telephone, sep="")
print("你的邮箱是:", email, sep="")
print("*****************************")
第二章
2.1 变量的创建与修改
price = 10.5
weight = 7.5
money = price * weight-5
print("总共消费了%.2f" % money)
这里没啥好说的,值得注意学的就是小说点位数的操作,.后加数就是约束到第几位。前加几位就是四舍五入几位。
2.2 变量的数据类型
变量的数据类型分为了整数(int),浮点数,布尔值,字符串(str)且不同数据类型之间可以进行数据类型的转换。
- 字符串的索引:
print(s[0:2]) # 包头不包尾
print(s[6:9]) # 包头不包尾.空格也算一个字符
print(s[0:9:1]) # 最后一个数字表示间隔步数
print(s[0:9:2]) # 最后一个数字表示间隔步数
# 第一个数字为开始索引,第二个数字为结束的索引 值,最后一个为每一步的步数间隔。
值得注意的是,字符串的索引是从数字0开始的。
- 数据类型的转换:
第三章
3.1 算数运算
a = 10
b = 3
print(a-b)
print(a*4)
print(a/b)
print(a//b) # 整除
print(a% b) # 取余
print(a**3) # 幂运算
3.2 赋值运算符
a = 10
a += 2
print(a)
3.3 比较运算符
print(3 == 3)
print(3 == 2)
print(3 > 2)
print(3 <= 3)
print(3.0 == 3)
print(True == False)
print('HELLO' == 'ADG') # 字符串的比较:比较的是每个字符的ascii码值
print('HELLO' < 'ADG')
3.4 逻辑运算符
# and 这里跟c不一样
print(True and False)
print('hello'and 'hi') # 短路运算 依赖后面的表达值
# or
print(True or False)
# not
print(not 0)
3.5位运算+成员运算符
print('12'in '123') #zai
print('hi'not in 'hello') # buzai
a = 1
b = 2
print(a is b)
print(a is not b)
第四章
4.1 分支结构
4.1.1 单分支
weather = '下雨'
if weather == '下雨': # 注意格式
print('带伞') # if的下级代码
print('hello') # 同级代码需要相同的缩进
4.1.2 双分支结构
# if ----- else
weather = '下雨'
if weather == '下雨':
print('记得带伞')
else:
print('啥也不用干')
# 判断年龄
age = input('请输入你的年龄:')
if age >= '18':
print("可以去网吧")
else:
print('在家写作业吧')
4.1.3 多分支结构
# if-----elif------else
# bmi 计算
# bmi = 体重(kg)/(身高*身高(米))
# bmi < 18.5 过瘦 18.5-23.9 正常 >23.9 过胖
weight = float(input('请输入你的体重:'))
height = float(input('请输入你的身高:'))
bmi = weight / height ** 2
print(bmi)
if bmi < 18.5:
print('你太瘦了')
elif 18.5 < bmi < 23.9:
print('你正常')
else:
print('你太胖了')
4.2 match
x = 4
match x:
case 1:
print(1111)
case 2:
print(222)
case 4:
print(444)
case _:
print('other')
是某一个版本之后才更新的,我也忘了。
第五章
5.1 while
# 高斯求和
i = 1
sum = 0
while i < 101: # while 后面的条件为真时才进行二级代码的运行
sum = i+sum
print(i)
i += 1
print(i)
print(sum)
5.2 for
# for i in range(5): # 基本格式
# print('hello')
# sum = 0
# for n in range(1,101,1): # 基本格式
# sum = n +sum
# print(n)
# print(sum)
break + contine
break作用:是直接跳出循环,不循环了。
contine:跳过本次循环后面的剩余语句,然后继续下一个循环,相当于只跳循环中的一次,同时只能跳过距离最近的for或者while
for x in range(10):
if x == 5:
continue
#print(x)
print(x)
# # 直接跳出循环----break 不循环了
# for i in range(10):
# if i % 3 == 0 and i > 0:
# print(i)
# break
运行结果展示:
第六章
6.1 列表
# 列表的定义
'''
是一种数据类型,类似于其他语言中的数组
专门用于存储一串信息
用[]定义,数据之间用,分隔
列表的索引从0开始
'''
# 列表的创建
list1 = [] # 空的列表
print(list1)
print(type(list1))
list2 = [1,2,3,True,False,'hello']
print(list2)
list3 = list('123456789') # 类型转换:str----->list
print(list3)
# 列表的索引
print(list3[5])
print(list3[-1])
# 列表的切片
print(list3[2:6:2])
# 列表的加减乘
print(list2+list3)
print(list3*3)
# Lie表的成员运算
print('a' in list3)
print('1' in [1,2,3,4])
# neizhi hanshu
print(len(list3))
print(max(list3))
print(min(list3))
# del list3 # 删除列表
# print(list3)
# 列表的遍历
for i in list2:
print(i)
# # 列表的遍历 带索引的
# for i,j in enumerate(list2): # 枚举
# print(i,j)
for i in range(len(list2)):
print(i,list2[i])
# 列表的常用方法method 变量.方法名()
# 添加元素
list3.append('555') # 添加单个元素
print(list3)
list3.extend([1,2,3]) # 添加整个列表
print(list3)
# 插入元素--根据索引
list3.insert(2,'hello')
print(list3)
# 删除元素---根据索引
list3.pop(3)
print(list3)
#根据元素删除
list3.remove('7') # 删除从头找到的第一个找到的元素
print(list3)
#清空
list3.clear()
print(list3)
# 计算若干个人的平均年龄
ave =0
# sum =0
age = [10,20,30,40,23,45]
# for i in range(len(age)):
# sum += age[i]
# ave = sum/len(age)
# print(ave)
print(sum(age)/len(age))
6.2 元组
'''
元组(tuple)与列表类似,不同的之处在于元组的元素不可以进行修改
元组表示多个元组元素组成的序列
用于存储一串信息,数据之间使用,分隔
-元组用()定义
'''
# 元组的创建
tuple1 = (1,2,3,True,'hello')
print(tuple1)
print(type(tuple1))
tuple2 = (1,) #一个元素的情况下,要这样写,才能定义为元组
print(tuple2)
print(type(tuple2))
tuple3 = tuple() #tuple():类型转换
print(tuple3)
tuple4 = ()
print(tuple4)
print(type(tuple4))
# 类型的转换
tuple5 = tuple('hello') # str---->tuple
print(tuple5)
tuple6 = tuple([1,2,3,4]) # list ---->tuple
print(tuple6)
list1 = list(tuple6) # tuple ----> list
print(list1)
str1 = str(tuple6) # tuple --->str
print(str1)
print(type(str1))
# 序列的通用操作
print('*'*40)
# 索引
print(tuple1[2])
# 切片
print(tuple1[::-1])
# len
print(len(tuple1))
print(max(tuple6),min(tuple6))
# del
del tuple5
# print(tuple5)
# +
print(tuple1+tuple6)
# *
print(tuple1*3)
# in
print('1' in tuple1)
# 元组的长用方法
a=tuple1.count('hello')
print(a)
print(tuple1.index(2)) # 出现的第一个
# 元组的遍历
for i in tuple1:
print(i)
for i,j in enumerate(tuple1):
print(i,j)
for i in range(len(tuple1)):
print(i,tuple1[i])
6.3 字典
# 字典的创建
'''
dictionary(字典)是除列表以外python之中最灵活的数据类型
字典也可以同样用来存储多个数据
通常用来描述一个物体的相关信息
--和列表的区别:
列表是有序的对象集合
字典是无序的对象集合
字典用{}定义
字典是使用键值对存储数据,键值对之间用,分隔
键key是索引
值value是数据
键与值之间使用:分隔
键必须是唯一的
值可以使用任何数据类型,但键只能使用**字符串**、数字或者元组
'''
d = { # 建不能重复,若重复会覆盖
'name':'yxt',
'gender':False,
# 'name':'gai'
}
# print(d)
# print(type(d))
# d = {}
# print(d)
# print(type(d))
# d = dict()
# print(d)
# 新增键值对---用中括号
d['height'] = 170
print(d)
# 获取键值对
print(d['name'])
# 修改键值对
d['gender'] = True
print(d)
# in
print('age' in d) # 判断key
# 字典的遍历
for i in d:
print(i,d[i])
for k,v in d.items():
print(k,v)
# 遍历key值
for k in d.keys():
print(k)
# 遍历value值
for v in d.values():
print(v)
# 字典的常用方法
d.pop('name') # shanchu
print(d)
a = d.copy()
print(a)
print(d.get('gender'))
d.popitem() # 从后删除
print(d)
d.update({'age':18}) # 新增
print(d)
6.4 集合
# 集合的创建
'''
不允许有重复元素,如果添加重复元素,则会自动过滤掉,可以进行交集并集的运算。
是一种无序的且无重复的数据结构
与dict类似,是一组key的集合(不存储value)
'''
s = set()
print(s,type(s))
s = {1,2,3,4}
print(s,type(s))
s = set([1, 2, 3, 40]) # list ---> 集合 ?这里是什么原因?
print(s)
s = set((1, 2, 3, 4,0,50)) # tuple --->set
print(s)
s = set('123')
print(s) # str ---> set
s = set({1:'a','a':2}) # dict ---->set 只提取建
print(s)
# in
print(1 in s)
# len
print(len(s))
# 不支持索引,因为是无序的
# 集合的遍历
for i in s:
print(i)
# 常用方法
s.remove('a')
print(s)
s.update({2,3,4,5,6,7,8})
print(s)
s.add(0)
print(s)
# 交集 并集
s2 = {5,6,7,8}
print(s&s2)
print(s | s2)
# 列表去重
score = [80,70,60,80,70,60,40]
s = set(score)
print(s)
for i in s:
t = score.count(i)
print('得分为%d的学生有%d个人'%(i,t))