视频教程+文字教程
视频教程:
教程确实很有质量
第一章 Python概述
安装VS Code
安装插件:Python、Chinese
指定代码存放的文件夹
在VS Code中编写Python程序并运行
第二章 基本数据类型与操作
一、Python数据类型
#整数
print(20)
#浮点数
print(20.16)
print(3.14e10)
#字符串
print('hello world')
print("hello \
world")
print('''hello
world''')
print(3*"hello world")
print('111'+'222')
print(111+222)
#进制转换
print(bin(1024)+'\n'+oct(1024)+'\n'+hex(1024))
#NoneType
print(print('hello'))
二、数据类型查看
type() isinstance()
print(type(10))
print(type(2.56))
print(type("ccit"))
print(type(None))
print(type(""))
print(isinstance(17,int))
print(isinstance(1.7,float))
print(isinstance('17',str))
三、数据类型转换
int() float() bool() str()
print(str(17-9))
print(int(3.14))
print(isinstance('17',str))
四、变量
每个变量在使用前必须赋值,变量赋值后才会被创建。
变量命名规则:以字母或下划线开头,不能数字开头,由数字、字母和下划线组成;变量名区分大小写;需要避开关键字
name="常小新"
age=19
college="ccit"
name,age,college="常小新",19,"ccit"
age1=age2=age3=20
print(name,age,college)
print(age1,age2,age3)
使用VS Code运行Python程序出现中文乱码的解决办法
前提:自己安装了code runner的插件
快捷键Ctrl+Shift+P,打开设置Open Settings (JSON),输入:
set PYTHONIOENCODING=utf-8 && python
五、运算符
(1)算术运算符
(2)赋值运算符
(3)比较运算符
(4)逻辑运算符
python短路运算:Python解释器在做布尔运算时,只要能提前确定计算结果,就不会继续往后算了,直接返回结果。例如在计算a and b时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。
优先级从高到低:not and or
print(not 0 and 5)
print(3 or 5 and 8)
(5)同一运算符
a=3
b=3
c=4
print(a is b)
print(a is c)
print(b is c)
(6)成员运算符
a="hello world"
b="llo"
result=b in a
print(result)
(7)运算符优先级
六、字符串处理
(1)字符串截取
索引:字符串中元素的位置,从左到右,从0开始到字符串长度-1;从右到左,从-1开始到负字符串长度。
获取字符串单个字符
a="How are you?"
print(a[2])
print(a[-3])
print(a[0])
print(len(a)-1)
print(a[-1])
print(-len(a))
获取字符串一部分字符(切片)
a="How are you?"
print(a[:])
print(a[3:6])
print(a[2:])
print(a[2:2])
print(a[5:2])
print(a[2:-1])
a="How are you?"
print(a[::])
print(a[3:6:])
print(a[2::2])
print(a[5:2])
print(a[5:2:-1])
print(a[5::-2])
(2)字符串内置函数
len() ord() chr() max() min()
a="How are you?"
b=len(a)
c=a[2]
d=ord(c)
e=chr(d)
print(a)
print(b)
print(c)
print(d)
print(e)
print(max(a))
print(min(a))
(3)字符串常用操作方法
大小写
a="How Are you?"
print(a.capitalize())
print(a.casefold())
print(a.lower())
print(a.upper())
print(a.swapcase())
print(a.title())
内容判定
passwd="abc123"
print(passwd.isalpha())
print(passwd.isalnum())
print(passwd.isdigit())
首尾去除特定内容
a=" How are you? "
print(a.strip())
print(a.lstrip())
print(a.rstrip())
首尾内容查找
website='http://www.ccit.js.cn'
print(website.startswith('http://'))
print(website.endswith('.cn'))
print(website.startswith('www',7))
字符串内容查找
a="How are you?"
print(a.find('are'))
print(a.index('ow'))
print(a.find('wo'))
print(a.index('wo'))
字符串内容替换
a="How are you?"
print(a.replace('you','they'))
print(a.replace('o','O',1))
print(a.replace('o','O'))
字符串分割(切片)
a="How are you?"
print(a.split())
b="192.168.1.254"
print(b.split('.'))
print(b.split('.',1))
_,_,_,c=b.split('.')
print(c)
a="/var/www/html/index.asp"
b=a.split('/')[4]
print(b)
height,weight=map(float,input("input your height and weight spliting with blank:").split())
BMI=weight/pow(height,2)
print('BMI:',BMI)
字符串拼接
path='c: system todo f.txt'
print(path)
print('/'.join(path.split()))
七、格式化输出
(1)续行符
print('据中国载人航天工程办公室消息,北京时间'+\
'2022年9月17日17时47分,经过约5小时的出舱活动,'+\
'神舟十四号航天员陈冬、刘洋、蔡旭哲密切协同,完成'+\
'出舱活动期间全部既定任务,航天员陈冬、航天员蔡旭哲'+\
'已安全返回问天实验舱,出舱活动取得圆满成功。')
(2)转义字符
print('\\\t\\')
print(r'\\\t\\')
(3)格式化操作符(%,format(),f" ")
print('姓名:%s,年龄:%d,身高:%f'%('常小新',20,1.88))
id,name,age,height,major=input('请输入学号,姓名,年龄,身高(米),专业,用空格分隔:').split()
print('个人信息:\n学号:%8s\n姓名:%s\n年龄:%d\n身高:%f\n专业:%s'\
%(id,name,int(age),float(height),major))
print('个人信息:\n学号:{:.8s}\n姓名:{}\n年龄:{}\n身高:{}\n专业:{}'\
.format(id,name,int(age),float(height),major))
print(f'个人信息:\n学号:{id:.8s}\n姓名:{name}\n年龄:{int(age)}\n身高:{float(height)}\n专业:{major}')
print('姓名:{},年龄:{},身高:{:.1f}'.format('常小新',20,1.88))
print(f"姓名:{'常小新'},年龄:{20},身高:{1.88:.1f}")
八、常见异常类型
语法错误(Syntax Error) 运行时错误(Runtime Error) 语义错误(Semantic Error)
第三章 条件选择语句
一、if语句
age=input("请输入年龄:")
age=int(age)
if age>20:
print("你已经成年了")
age=input("请输入年龄:")
age=int(age)
if age>20:
print("你已经成年了")
else:
print("你还未成年呐")
age=input("请输入年龄:")
age=int(age)
b="你已经成年了" if age>20 else "你还未成年呐"
print(b)
输入成绩并判断等第(0-59不及格,60-79合格,80-89良好,90-100优秀)
grade=input("请输入成绩:")
grade=int(grade)
if grade<60:
print("不及格")
else:
if grade<80:
print("合格")
else:
if grade<90:
print("良好")
else:
print("优秀")
grade=input("请输入成绩:")
grade=int(grade)
if grade<60:
print("不及格")
elif grade<80:
print("合格")
elif grade<90:
print("良好")
else:
print("优秀")
二、循环控制语句while
i=0
while i<3:
grade=input("请输入成绩:")
grade=int(grade)
if grade<60:
print("不及格")
elif grade<80:
print("合格")
elif grade<90:
print("良好")
else:
print("优秀")
i=i+1
while True:
grade=input("请输入成绩:")
if grade=='exit':
break
grade=int(grade)
if grade<60:
print("不及格")
elif grade<80:
print("合格")
elif grade<90:
print("良好")
else:
print("优秀")
三、循环控制语句for
a="How are you?"
for i in a:
print(i,end='')
for i in range(10):
print(i)
range(10)
range(0,10)
range(2,10)
range(0,10,2)
a="How are you?"
for i in range(len(a)):
print(a[i],end='')
for i in range(3):
grade=input("请输入成绩:")
grade=int(grade)
if grade<60:
print("不及格")
elif grade<80:
print("合格")
elif grade<90:
print("良好")
else:
print("优秀")
passwd="haha"
for try_count in range(3):
input_pd=input("请第"+str(try_count+1)+"次输入密码:")
if input_pd==passwd:
print("密码正确!")
break
else:
print("再试下!")
else:
print("密码输入满三次,你已经没有机会再试了!")
b=""
a="How are you?"
for char in a:
if char==" ":
continue
else:
b=b+char
print(b)
第四章 列表与元组
列表生成式
newList=["不及格"if cos<60 else "及格" for cos in scoresList]
cont=[cityList.count(city) for city in uniqlits]
一、创建列表
1.直接创建列表
students=['李明',80,True]
students=[]
2.使用list()创建
a=list()
a=list("How are you?")
二、访问列表
1.使用索引访问列表元素
参考字符串截取的索引操作。
2.通过元素值访问列表索引
students=['李明',80,True]
scoreindex=students.index('李明')
print(scoreindex)
三、编辑列表
1.添加列表元素
students=['李明',80,True]
students.append(1.78)
print(students)
students.insert(1,'通信212')
print(students)
2.扩展列表
students=['李明',80,True]
course=["数学","必修课"]
students.extend(course)
print(students)
students=['李明',80,True]
course=["数学","必修课"]
print(students+course)
print(students)
3.修改列表元素
students=['李明',80,True]
students[0]="张强"
print(students)
4.删除列表元素
students=['李明',80,True]
students.remove(80)
students=['李明',80,True]
print(students)
students=['李明',80,True]
a=students.pop()
print(students)
print(a)
students=['李明',80,True]
a=students.pop(1)
print(students)
print(a)
del students[0]
print(students)
四、列表元素排序
score=[77,78,56,98,86,68,93]
score.sort()
print(score)
score.sort(reverse=True)
print(score)
score=[77,78,56,98,86,68,93]
score1=sorted(score)
print(score1)
score2=sorted(score,reverse=True)
print(score2)
print(score)
要在特定插入点扩展列表,您可以使用列表切片
>>> l = [1, 2, 3, 4, 5]
>>> l[2:2] = ['a', 'b', 'c']
>>> l
[1, 2, 'a', 'b', 'c', 3, 4, 5]
列表切片非常灵活,因为它允许用另一个列表中的一系列条目替换列表中的一系列条目:
>>> l = [1, 2, 3, 4, 5]
>>> l[2:4] = ['a', 'b', 'c'][1:3]
>>> l
[1, 2, 'b', 'c', 5]
五、列表切片
参考字符串截取部分内容。
六、嵌套列表
students=[]
student1=['李明',80,True]
student2=['王英',90,False]
students.append(student1)
students.append(student2)
students.insert(1,student)
print(students)
print(students[1][1])
七、遍历列表
1.按元素遍历
students=[['李明',80,True],['张强',90,True],['王英',98,False]]
for student in students:
print(student)
2.按索引遍历
students=[['李明',80,True],['张强',90,True],['王英',98,False]]
for i in range(len(students)):
print(students[i])
八、列表推导式
1.循环模式
oddNumList=[num*2 for num in range(1,6)]
print(oddNumList)
students=[['李明',80,True],['张强',90,True],['王英',98,False]]
names=[student[0] for student in students]
print(names)
2.筛选模式
students=[['李明',80,True],['张强',90,True],['王英',98,False]]
scores=[student[1] for student in students if student[1]>85]
print(scores)
九、列表常用方法
1.列表元素计数
a=list("Hello World!")
print(a.count('l'))
print(a.count('o'))
2.列表元素的逆置
a=list('你是年少的欢喜')
a.reverse()
print(a)
print("".join(a))
3.列表的最大值与最小值
score=[12,34,56,44,89]
print(max(score))
print(min(score))
十、创建元组
1.直接创建
score=(12,34,56,44,89)
2.使用内置函数创建元组
a=tuple("hello world")
print(a)
十一、访问元组
参考列表元素访问部分。
十二、序列的封包与解包
序列:字符串、列表、元组
student='李明',80,True
print(student)
name,score,sex=student
print(name)
print(score)
print(sex)
student=['李明',80,True]
name,score,sex=student
print(name)
print(score)
print(sex)
num="312"
a,b,c=num
print(a)
print(b)
print(c)
序列部分解包
student=['李明',80,True]
name,*restinfo=student
print(name)
print(restinfo)
十三、压缩函数
1.序列压缩
names='周一','吴二','张三','李四','王五'
scores=88,89,90,78,86
a=zip(names,scores)
print(a)
b="Hello World!"
c="How are you?"
print(list(zip(b,c)))
2.序列解压缩
a=[('周一', 88), ('吴二', 89), ('张三', 90), ('李四', 78), ('王五', 86)]
a1,a2=zip(*a)
print(a1)
print(a2)
第五章 字典与集合
一、创建字典
1.直接创建
stu_grade={}
stu_grade['语文']=98
stu_grade['数学']=108
stu_grade['英语']=98
print(stu_grade)
2.使用内置函数创建
stu_grade=dict()
stu_grade['语文']=98
stu_grade['数学']=108
stu_grade['英语']=98
print(stu_grade)
二、访问字典
stu_grade={'语文':98,'数学':108,'英语':98}
print(stu_grade.keys())
print(stu_grade.values())
print(stu_grade.items())
print(stu_grade['数学'])
print(stu_grade.get('英语'))
三、编辑字典
stu_grade={'语文':98,'数学':108,'英语':98}
print(stu_grade)
stu_grade['物理']=99
print(stu_grade)
stu_grade['语文']=90
print(stu_grade)
del stu_grade['数学']
print(stu_grade)
stu_grade.pop('语文')
print(stu_grade)
四、遍历字典
stu_grade={'语文':98,'数学':108,'英语':98}
for stu_grade_one in stu_grade.keys():
print(stu_grade_one)
for stu_grade_one in stu_grade.values():
print(stu_grade_one)
for stu_grade_one in stu_grade.items():
print(stu_grade_one)
五、创建集合
集合特性:
1.互异性:元素不重复。
2.确定性:元素可增删,但不可修改,元素类型是数值、字符串等不可变类型。
3.无序性:元素没有位置索引。
courses={'语文','数学','英语','物理'}
print(courses)
courses=['语文','数学','英语','语文']
print(courses)
courses=list(set(courses))
print(courses)
八、集合运算
并、交、差、对称差
a={1,2,3,4,5,6}
b={1,3,5,7,9,11}
print(f'a和b的并运算结果(a|b):{a|b}')
print(f'a和b的交运算结果(a&b):{a&b}')
print(f'a和b的差运算结果(a-b):{a-b}')
print(f'a和b的对称差运算结果(a^b):{a^b}')
九、集合的其他常用操作
1.遍历集合
courses={'语文','数学','英语','物理'}
for course in courses:
print(course)
2.编辑集合
courses={'语文','数学','英语','物理'}
print(courses)
courses.add('化学')
print(courses)
courses.remove('英语')
print(courses)
十、集合推导
a={'john','tom','mike','lisa'}
b={name.upper() for name in a}
print(b)
a={12,18,3,8,20}
b={i for i in a if i>12 and i<20}
print(b)
编程练习
在千寻进入魔法世界的期间,有一位“无脸男”一直跟在她的身边。一开始,千寻对无脸男的跟踪感到害怕,直到她第一次听见了无脸男对她说的话后,才理解了他,并和他成为了朋友。
第1题要求:
下面是千与千寻中无脸男对千寻说的话,请你把这段话,运用转义字符按照如下格式打印出来。
千寻你好,人们叫我'无脸男'
这个世界的人都选择无视我
只有你看到了我并和我打招呼
我感到很孤单,很孤单
你愿意和我成为朋友吗?
打印皮卡丘字符画
へ /|
/\7 ∠_/
/ │ / /
│ Z _,< / /`ヽ
│ ヽ / 〉
Y ` / /
イ● 、 ● ⊂⊃〈 /
() へ | \〈
>ー 、_ ィ │ //
/ へ / ノ<| \\
ヽ_ノ (_/ │//
7 |/
>―r ̄ ̄`ー―_
第2题要求:
在数据拼接中,为了将不同的信息进行整合,可以使用拼接符号。
但是,如果数据非字符串类型,则无法进行拼接。此时,我们可以使用数据转换函数str(),将数据转换为字符串类型后,再进行拼接。
并且针对不同类型的数据,我们需要经历多次转换,最后才能转为字符串类型。
请运用所给变量,使用数据转换str()、int()、float()及数据拼接符号+,打印一句话: 脸黑怪我咯7张蓝票一个SSR都没有 。
slogan = '脸黑怪我咯'
number = '7.8'
unit = '张'
sentence = '蓝票一个SSR都没有'
第3题要求:
复仇者联盟的成员也是有工资的,然而,由于美国队长一直被冰封在北极,错过了多次调薪机会,所以美国队长的工资一直是每月80美元。光荣挺进史塔克穷人榜前三名,并获封“美元队长”称号。
请你写出一段代码,判断美国队长的工资水平,代码需要满足如下条件:
1.如果月工资小于等于500美元,显示“欢迎进入史塔克穷人榜前三名”
1.1如果月工资在100-500美元之间,显示“请找弗瑞队长加薪”
1.2如果月工资小于等于100美元,显示“恭喜您荣获“美元队长”称号!”
2.如果月工资在500-1000美元之间(含1000美元),打印“祝贺您至少可以温饱了。”
3.其他情况下,如果工资大于1000美元,打印“经济危机都难不倒您!”
3.1如果工资在1000-20000美元(含20000美元)之间,打印“您快比钢铁侠有钱了!”
3.2如果月工资大于20000美元,打印“您是不是来自于瓦坎达国?”
4.不管赋值改变后输出结果如何,都需固定打印结果“程序结束”
第4题要求:
为了三强争霸赛的舞会,罗恩想要减肥,所以他决定控制自己的饮食,少吃一点巧克力蛙。
哈利为了帮助好朋友罗恩,和他一起制定了一个饮食游戏。
游戏规则如下:
如果罗恩一天吃超过10个巧克力蛙,罗恩要给哈利100块;
如果罗恩一天吃小于等于10个的巧克力蛙,哈利就给罗恩100块。
请你写出一段代码:
当随机输入罗恩一天吃的巧克力蛙数量时,可以判断出这天,是罗恩给哈利钱,还是哈利给罗恩钱,并打印出来。
第5题要求:
接受了霍格沃茨来信的你,带着欣喜与好奇,跟着魔咒学老师吴枫教授,来到了巫师世界的对角巷。在这个相当于人类集市的对角巷,你立刻被魔法世界稀奇古怪的东西吸引,想掏手机刷花呗买买买。
但是吴枫教授说,麻瓜(没有魔法的人)货币在魔法世界不流通,但是你可以去巫师世界的银行——古灵阁兑换货币。你立刻跟着吴枫老师跑到了古灵阁。当你进到巫师世界的银行时,就有银行的小精灵职员问好:
注意:以下背景与题目要求相关
小精灵:您好,欢迎来到古灵阁,请问您需要帮助吗?需要or不需要?
你:需要
小精灵:请问您需要什么帮助呢?1 存取款;2 货币兑换;3 咨询
你:2
小精灵:金加隆和人民币的兑换率为1:51.3,即一金加隆=51.3人民币
小精灵:请问您需要兑换多少金加隆呢?
(你说了一个数字N)
小精灵:好的,我知道了,您需要兑换(你说的数字N)金加隆。
小精灵:那么,您需要付给我(你说的数字N*51.3)人民币。
注1:如果选择不需要帮助,小精灵会礼貌地说'好的,再见。'
注2: 如果选择帮助【1 存取款】,小精灵会推荐你去存取款窗口;如果选择帮助【3 咨询】,小精灵会推荐你去咨询窗口。
请你综合四天所学知识,将上图换钱故事的对话,用代码表现出来。
第6题要求:
在层层嵌套的各种数据类型中,准确地提取出你需要的数据。
在未来世界,一个新建的童话镇吸引了不少人入住。不过,在人群里隐藏着一只狼,会威胁大家的安全。
童话镇的镇长希望你能找到它,并揭发其身份。
用程序语言就是说:列表中有个字符串是“狼”,将其打印出来吧。
townee = [
{'海底王国':['小美人鱼''海之王''小美人鱼的祖母''五位姐姐'],'上层世界':['王子','邻国公主']},
'丑小鸭','坚定的锡兵','睡美人','青蛙王子',
[{'主角':'小红帽','配角1':'外婆','配角2':'猎人'},{'反面角色':'狼'}]
]
第7题要求:
假设有两名囚徒A和B因为合伙犯罪被抓捕,因没有确凿可以指认罪行的证据,审判者准备单独审判两位囚徒。
若两人都认罪,则两人各判10年;若一个认罪一个抵赖,则认罪的人判1年,抵赖的人判20年;若两人都抵赖,则各判3年。
第8题要求:
通过这个练习,你会尝试用循环来解决生活中的问题,并了解一种新的列表方法。
小明、小红、小刚是同班同学,且坐在同一排,分别坐在第一位、第二位、第三位。
由于他们的身高都差不多,所以,老师计划让他们三个轮流坐在第一位。
每次换座位的时候,第一位变第三位,后面两位都往前一位。每次换座位后输出座位表。
第9题要求:
我很喜欢看电影,我回忆了一下,这两年我觉得还不错的国产电影。
下面,会将电影的影片名和主演放在字典里,比如:
movie = {'妖猫传':['黄轩','染谷将太']}
需要你补充一些代码,让其他人只要输入演员名,就打印出:××出演了电影××。
movies = {
'妖猫传':['黄轩','染谷将太'],
'无问西东':['章子怡','王力宏','祖峰'],
'超时空同居':['雷佳音','佟丽娅'],
}
第10题要求:
我们会通过今天的作业,掌握列表的两个新运用:合并列表和列表排序。
一次测评中,老师将 学习小组A 和 学习小组B 的测评成绩(满分 100 分)从低到高记录放进两个列表:
A = [91, 95, 97, 99],B = [92, 93, 96, 98] 。
现在,老师想将两个小组的成绩合并为一个列表,并按照从低到高的顺序排序,你能帮老师完成吗?
上一个练习中,我们完成了两组成绩的合并和排序。
不过,老师有了新的需求:想知道两组的平均分,以及把低于平均分的成绩也打印出来。
所以,在这个练习中,我们会帮老师计算出两组的平均分,并挑出那些在平均分之下的成绩。
第六章 函数
一、函数特征
def is_passed1(score):
if score>=60:
print('考试通过')
else:
print('考试没通过')
score=input("请输入成绩:")
is_passed1(float(score))
def is_passed2(score):
if score>=60:
result='考试通过'
else:
result='考试没通过'
return result
score=input("请输入成绩:")
a=is_passed2(float(score))
print(a)
def 函数名(参数名1,参数名2,....,参数名N):
语句块
return 返回值
二、函数的参数
1.位置参数
def 函数名(参数名1,参数名2,....,参数名N):
函数体
调用函数格式
函数名(参数值1,参数值2,....,参数值N)
def sum_int(a,b):
return a+b
print(sum_int(3,2))
2.默认参数
def sum_int(a,b=3):
return a+b
print(sum_int(3))
print(sum_int(3,))
print(sum_int(3,4))
注:若同时存在位置参数与默认参数,默认参数要放在位置参数之后!!!
3.可变参数
def 函数名(*参数):
函数体
def sum_int(*scores):
k=0
for i in scores:
k+=i
return k
print(sum_int(3,4,6))
print(sum_int(3,4,6,7))
print(sum_int(3,4,6,7,8))
注:用户可以输入任意数量的参数,接收为一个元组。
4.关键字参数
def 函数名(**参数):
函数体
def stu_info(**kw):
return kw
print(stu_info(name='张三',age=6,sex='男'))
4.命名关键字参数
def 函数名(参数,*,参数):
函数体
def sum_int(i,*,a,b):
return a+b+i
print(sum_int(i=1,a=1,b=2))
print(sum_int(2,a=1,b=2))
print(sum_int(2,1,b=2))
print(sum_int(2,1,2))
三、函数返回多个值
def max_min(scores):
return max(scores),min(scores)
scores=[90,46,88,72,67]
print(max_min(scores))
max_score,min_score=max_min(scores)
print(f'最高分:{max_score}')
print(f'最低分:{min_score}')
三、局部变量与全局变量
k=0
def is_passed2(score):
global k
if score>=60:
result='考试通过'
k+=1
else:
result='考试没通过'
k+=2
return result
score=input("请输入成绩:")
a=is_passed2(float(score))
print(a)
print(f'k={k}')
# print(result)
四、模块
用户可以自定义模块,也可以用第三方模块。库是相关功能模块的集合,python拥有极其丰富的标准库和第三方库。
1.模块的导入
import os
a=os.getcwd()
print(a)
b=os.listdir(a)
print(b)
from os import getcwd
a=getcwd()
print(a)
from os import *
print(listdir(getcwd()))
import numpy as np
a=np.sum(3+4)
print(a)
from matplotlib import pyplot as plt
from matplotlib import font_manager
my_font = font_manager.FontProperties(fname = "C:/Windows/Fonts/simhei.ttf")
a = ["猩球崛起3:终极之战","敦刻尔克","蜘蛛侠:英雄归来","战狼2"]
b_16 = [15746,312,4497,319]
b_15 = [12357,156,2045,168]
b_14 = [2358,399,2358,362]
# 设置bar_width来绘制多条形图
bar_width = 0.2
x_14 = list(range(len(a)))
x_15 = [i+bar_width for i in x_14]
x_16 = [i+bar_width*2 for i in x_14]
plt.figure(figsize=(20,8),dpi=80)
plt.bar(x_14,b_14,width=bar_width,label="9月14日")
plt.bar(x_15,b_15,width=bar_width,label="9月15日")
plt.bar(x_16,b_16,width=bar_width,label="9月16日")
plt.xticks(x_15,a,fontproperties=my_font)
plt.legend(prop=my_font)
plt.show()
2.模块的创建
#max_min.py
import score_passed
def max_min(scores):
return max(scores),min(scores)
scores=[90,46,88,72,67]
max_score,min_score=max_min(scores)
print(f'最高分:{max_score}')
print(f'最低分:{min_score}')
score_passed.is_passed(max_score)
#score_passed.py
def is_passed(score):
if score>=60:
print('考试通过')
else:
print('考试没通过')
if __name__=='__main__':
score=input("请输入成绩:")
a=is_passed(float(score))
第七章 文件的基本操作
一、文件读写
1.读文件
f=open("demo.txt",'r',encoding="utf-8")
content=f.read()
f.close()
print(content)
with open("demo.txt",'r',encoding="utf-8") as f:
content=f.read()
print(content)
with open("demo.txt",'r',encoding="utf-8") as f:
content=f.readline()
print(content)
with open("demo.txt",'r',encoding="utf-8") as f:
content=f.readlines()
print(content)
with open("demo.txt",'r',encoding="utf-8") as f:
for eachline in f:
print(eachline,end="")
2.写文件
with open("demo1.txt",'w',encoding="utf-8") as f:
f.write("我好饿")
with open("demo1.txt",'w',encoding="utf-8") as f:
f.writelines(["白日依山尽,\n","黄河入海流。\n","欲穷千里目,\n","更上一层楼。"])
with open("demo1.txt",'a',encoding="utf-8") as f:
f.writelines("离离原上草,\n一岁一枯荣。\n野火烧不尽,\n春风吹又生。")
3.多个文件读写
with open("demo.txt",'r',encoding="utf-8") as f1:
with open("demo1.txt",'a',encoding="utf-8") as f2:
content=f1.read()
f2.write('\n'+content)
二、os模块
1.os模块方法
import os
print(os.getcwd())
print(os.listdir())
os.remove("demo.txt")
os.mkdir("mycode")
os.makedirs("mycode\\dir1\\dir2")
os.removedirs("mycode\\dir1\\dir2")
import os
a=os.system('ping 127.0.0.1')
b=os.popen('dir')
print(f'a:{a}')
print(f'b:{b.read()}')
print(os.sep)
print(os.linesep)
print('hello')
os._exit(0)
print('world')
2. os.path模块方法
print(os.path.abspath("code"))
print(os.path.basename("code"))
print(os.path.dirname("code"))
print(os.path.exits("code"))
print(os.path.isfile("demo.txt"))
print(os.path.isdir("code"))
print(os.path.islink("code"))
print(os.path.join(os.getcwd(),"demo.txt"))
版权属于:戏人看戏博客网
本文链接:https://day.nb.sb/archives/336.html
若无注明均为戏人看戏原创,转载请注明出处,感谢您的支持!