版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
搭建Python开发环境任务描述了解目前市场上的Python的版本,完成Python的下载、安装、配置和使用。
目前市场上Python2和Python3两个版本并行。相比于早期的Python2,Python3历经了较大的变革。1.
print()函数替代了print语句2.Python3默认使用UTF-8编码,而Python2使用ASCII编码3.使用“/”实现除法运算的方式01下载安装02配置使用03调试程序下载Python01Python3的安装
到Python主页下载并安装Python基本开发和运行环境,网址:/downloads/
根据操作系统不同选择不同版本
下载相应的Python3.0系列版本程序安装包,双击安装包安装Python的使用02方法1:调用Python启动Python命令解释界面方法2:调用IDLE来启动Python图形化运行环境Python3的使用方法3:打开IDLE,点击Ctrl+N打开一个新窗口,输入语句并保存,使用快键建F5即可运行该程序。方法4:将Python集成到Eclipse、PyCharm等面向较大规模项目开发的集成开发环境中。思考:什么是IDLE?Python安装过程中默认自动安装了IDLE,IDLE是Python自带的集成开发环境。任务总结PyythonIDLE是Python自带的一款集成开发环境,它具有集交互方式和编程方式与一体的代码编辑器,是广大Python初学者广泛使用的Python学习和开发的工具。谢谢观看使用Pycharm工具任务描述完成PyCharm的下载、安装、配置和使用。
PyCharm集成开发环境的安装PyCharm是Jetbrain公司开发的一款Python集成开发环境,由于其具有智能代码编辑器、智能提示、自动导入等功能,目前已经成为Python专业开发人员和初学者广泛使用的Python开发工具。01下载安装02配置使用03调试程序下载Pycharm01下载访问jetbrains官网中下载PyCharm工具的页面。网址:
/pycharm/download单击相应版本下的【下载】按钮下载PyCharm安装包,这里选择Community版本。专业版本提供PythonIDE的所有功能;
支持Django、Flask等;支持JavaScript、CoffeeScript等;支持远程开发、Python分析器、数据库和SQL语句。社区版本轻量级的PythonIDE,只支持Python开发;免费、开源、集成Apache2的许可证;智能编辑器、调试器;支持重构和错误检查,集成VCS版本控制。下载成功后,双击“pycharm-community-2018.3.3”安装包弹出欢迎界面。单击【Next】按钮进行PyCharm的安装。配置使用02PyCharm的使用双击PyCharm快捷方式图标进入PyCharm欢迎界面。单击【CreateNewProject】按钮创建一个Python项目chapter01,之后便可以在项目中创建一个py文件,具体操作为:选中项目名称chapter01,右击选择【New】→【PythonFile】选项。调试程序03将刚刚新建的Python文件命名为hello_world,使用默认文件类型Pythonfile。在创建好的“hello_world.py”文件中编写如下代码:print("helloworld")选择【Run】→【Run‘hello_world’】运行“hello_world.py”文件(也可以在编辑区中右击选择【Run’hello_world’】来运行文件)。程序的运行结果会在PyCharm结果输出区进行显示。任务总结
PyCharm是一款Python程序集成开发环境,它具有智能代码编辑器、智能提示、自动导入等功能,大大提高了程序调试的效率,是广大Python开发人员和初学者广泛使用的Python开发工具。谢谢观看编写第一个Python程序任务描述学习调试并运行Python程序的方法
使用Python自带的开发工具运行程序,其运行方式有两种,即交互式运行和脚本式运行。由于交互式运行主要用于简单的Python程序的运行和命令的测试,因此,脚本式运行是编写和运行Python程序的主要方法。01在IDLE中调试程序02在Pycharm中调试程序03编程风格在IDLE中调试程序01在IDLE中调试程序使用Python自带的IDLE集成开发工具来创建Python源文件是最常见和最佳编辑方法,具体操作是打开Python自带的IDLE集成开发工具,执行File→NewFile命令创建Python源文件,在弹出的“未命名(untitled)”脚本窗口中输入Python代码,进行Python源文件的编辑。执行File→Save命令或按Ctrl+S快捷键保存源文件,在弹出的“另存为”对话框中确定文件文件保存的位置及文件名,单击“保存”按钮,Python源文件创建完成。请根据上述过程调试下我们的第一个程序:print(“hello,world!”)在Pycharm中调试程序02在Pycharm中调试程序单击“NextFeaturedplugins”按钮,在弹出的窗口中单击“CreateNewProject”选项创建一个Python项目chapter01,以便后续可以在项目中创建一个.py文件。选中项目名称chapter01,右击选择“New”→“PythonFile”选项,在弹出的“NewPythonFile”窗口中,将刚刚新建的Python文件命名为hello_world,使用默认文件类型Pythonfile,在创建好的“hello_world.py”文件中编写如下代码:print("helloworld"),执行File→Save命令或按Ctrl+S快捷键保存源文件,在弹出的“另存为”对话框中确定文件文件保存的位置及文件名,单击“保存”按钮,Python源文件创建完成。请根据上述过程调试下我们的第一个程序:print(“hello,world!”)编程风格03缩进PythonPEP8文档规范中,建议使用4个空格作为悬挂式缩进。相同逻辑层代码块缩进的空格数必须一致,在PyCharm中,缩进是自动添加的。逻辑行的首行不要缩进,即顶格输入,否则会导致运行错误。每行代码的最大长度限定在79个字符之内。不能使用Tab按键进行缩进,Python3.x中也不允许使用Tab键和空格组合来设置缩进样式。Python语言中严格的代码缩进是语法的一大特色。换行正常情况下,一条Python语句占一行,但超过79个字符就需要换行,Python的续行符是反斜杠“\”字符。在行结尾添加续行符“\”,表示下一行与当前行是一条语句。针对字符串和二元运算符换行编写,可以使用一对圆括号()实现。在方括号[]和花括号{}中的语句换行,不需要额外添加圆括号()。一般来说,代码空一行是用于类成员函数之间或区别不同逻辑块,代码空两行是类与类,类与函数,函数与函数之间。代码注释块注释块注释的每行开头使用一个#和一个空格,缩进至与代码相同的级别。行内注释行内注释与代码至少由两个空格分隔,注释以一个#和一个空格开头。文档字符串文档字符串是为所有公共模块、函数、类以及方法编写的文档说明。任务总结
本任务介绍了分别在IDLE和PyCharm平台上运行和调试Python程序的方法。缩进、换行和注释是Python程序有别于其他程序要学习的地方。谢谢观看安装使用Python模块任务描述掌握安装Python模块的方法,了解模块的相关知识。作为一种功能强大、使用便捷的编程语言,Python支持以模块的形式组织代码。那么,什么是模块?模块是指用于存放功能性代码的文件。Python中的模块包括三种类型,一是系统内置的标准模块;二是Python使用者贡献的第三方模块;三是Python开发者自行定义的自定义模块。通过这些丰富且强大的模块可以极大地提高开发者的开发效率。以模块的形式组织代码可以使代码具有可重用性、实现共享的服务和数据、划分系统命名空间的特点。01模块安装02模块导入调用03库与包、模块模块安装01在IDLE中调试程序为了保证代码的可维护性,通常将一些功能性代码放在其他文件中。我们把用于存放功能性代码的文件称为模块。作为一种功能强大、使用便捷的编程语言,Python支持以模块的形式组织代码。Python中的模块包括三种类型,一是系统内置的标准模块;二是Python使用者贡献的第三方模块;三是Python开发者自行定义的自定义模块。通过这些丰富且强大的模块可以极大地提高开发者的开发效率。这些模块中,标准模块先导入再使用,第三方模块则需要安装后再导入和使用,而自定义模块直接使用。利用Python内置的pip工具(安装Python3.11时会自动安装该工具)可以非常方便地安装Python第三方模块,该工具可在命令行中使用。模块导入调用02导入调用在使用模块中定义的内容前需要先将模块导入到当前程序中。Python使用import关键字导入模块,通过点字符调用模块中的内容可避免多个模块中存在同名函数时代码产生歧义,但若不存在同名函数,可使用“from…import…”语句直接将模块的指定内容导入到程序中,并在程序中直接使用模块中的内容。使用from…import…语句也可以将指定模块的全部内容导入到当前程序中,此时用“*”指代模块中的全部内容。库与包、模块03库、包、模块模块(module)、包(package)和库(lib)是Python组织代码的三种方式。模块是最基础的代码组织方式,每个包含有组织的代码片段的.py文件都是一个模块,文件名就是模块名。包以类似目录的结构组织模块文件或子包,简单地说,一个包含__init__.py文件的目录就是一个包。包中必有__init__.py文件,且可以有多个模块或子包。库是一个抽象概念,它是指具有相关功能的模块的集合。任务总结Python组织代码的三种方式是模块(module)、包(package)和库(lib)。而每个包含有组织的代码片段的.py文件就是模块,它是Python最基础的代码组织方式,有两种导入方法,即“import”和“from…import…”。谢谢观看输出函数-打印超市购物小票任务描述
购物小票又称购物收据,是指消费者购买商品时由商场或其它商业机构给用户留存的销售凭据。购物小票中一般会包含用户购买的商品名称、数量、单价以及总金额等信息。本任务要求编写代码,实现打印购物小票的功能。基本输出函数print()01
基本输出函数print()
程序要实现人机交互功能,需能够向显示设备输出有关信息及提示,同时也要能够接收从键盘输入的数据。与input()函数相似,Python提供了print()内置函数完成输出,可以打印出数字和字符串。print(*objects,sep='',end='\n',file=sys.stdout)参数如下:objects--表示输出的对象。sep--用于间隔多个对象。end--用于设定以什么结尾,默认为\n。file--表示数据输出的文件对象。其格式如下:
基本输出函数print()>>>x,y,z=100,200,'Hello!'>>>print(x,y,z)100200Hello!>>>print(x,y,z,sep='**')100**200**Hello!>>>print(x,y,sep=',',end='')100,200>>>print(z)Hello!任务实现—打印超市小票02
根据题意,购物小票中的数据均为字符串类型,因此,可以使用print()函数直接打印小票中的内容。
任务分析程序代码#打印购物小票print("单号:DH20230923001")print("时间:2023-09-2308:56:14")print("")print("名称
数量
单价
金额")print("金士顿U盘32G170.0070.00")print("摄像头150.0050.00")print("USB转接器18.008.00")print("网线2米15.005.00")print("")print("总数:4总额:133.00")print("折后总额:133.00")print("实收:133.00找零:0.00")print("收银:管理员")任务总结
print()函数是Python提供给开发者的基本输出函数,其功能是向显示器输出数据。其使用格式灵活,通过参数sep的控制多个值之间的间隔符,通过参数end控制多行数据的间隔。谢谢观看格式输出-获取身体质量指数任务描述
BMI指数即身体健康指数,它与人的体重和身高相关,是目前国际常用的衡量人体胖瘦程度以及是否健康的一个标准。已知BMI值的计算公式如下:
体质指数(BMI)=体重(kg)÷身高^2(m)本任务要求编写代码,根据用户输入的身高体重计算BMI指数的功能。格式化输出01
Python中除了基本的输出函数print()外,还可通过占位符、f-strings方法和format()方法实现格式化输出。
占位符输出Python将一个带有格式符的字符串作为模板,使用该格式符为真实值预留位置,并说明真实值应该呈现的格式,不同的占位符为不同类型的变量预留位置,一个字符串中可以同时包含多个占位符。
占位符输出常见的占位符如下表所示。符号说明%s字符串%d十进制整数%o八进制整数%x十六进制整数(a~f为小写)%X十六进制整数(A~F为大写)%e指数(底写为e)%f浮点数
占位符输出>>>name="李强">>>"你好,我叫%s"%name。你好,我叫李强。>>>name="李强">>>age=12>>>"你好,我叫%s,今年我%d岁了。"%(name,age)你好!我叫李强,今年我12岁了。>>>name="李强"#变量name是字符串类型>>>age="12"#变量age是字符串类型>>>"你好,我叫%s,今年我%d岁了。"%(name,age)TypeError:%dformat:anumberisrequired,notstr
f-字符串输出
f-字符串在格式上以f或F引领字符串,字符串中使用{}标明被格式化的变量。使用f-字符串还可以将多个变量进行格式化输出。
f-字符串输出>>>address=‘北京’>>>f‘{address}欢迎你!‘北京欢迎你!>>>name='张天'>>>age=20 >>>gender='男'>>>f'我的名字是{name},今年{age}岁了,我的性别是:{gender}。'我的名字是张天,今年20岁了,我的性别是:男。
format()方法输出format方法常用于格式化字符串。在Python中处理各种数据时,有时会把一系列数据组合到一个包含各种信息的字符串中,此时需要用到format方法。format不仅可以将各类型数据组合到字符串中,还可以对需要处理的数据格式化。使用该方法无需再关注变量的类型。
其格式如下:
<字符串>.format(<参数列表>)
format()方法输出
若字符串中包含多个没有指定序号(默认从0开始)的“{}”,则按“{}”出现的顺序分别用format()方法中的参数进行替换,否则按照序号对应的format()方法的参数进行替换。format()方法还可以对数字进行格式化,包括保留n位小数、数字补齐和显示百分比。
format()方法输出>>>age=18>>>name=‘Jack’>>>print(‘Today{0}was{1}yearsold’.format(name,age))>>>print(‘{0}isaboy’.format(name))TodayJackwas18yearsoldJackisaboy>>>pi=3.1415>>>"{:.2f}".format(pi)3.14>>>num=1>>>"{:0>3d}".format(num)001>>>num=0.1>>>"{:.0%}".format(num)10%任务实现—获取身体质量指数02
根据题意,计算某个人的BMI值之前需要使用input()函数进行接收输入的数据。因为体重、身高数据多使用小数表示,所以在Python中需要使用浮点类型表示体重、身高。当接收用户输入的身高、体重数据后,可以根据体质指数计算公式计算BMI值。
任务分析程序代码#获取身体质量指数BMIheight=float(input('请输入您的身高(m):'))weight=float(input('请输入您的体重(kg):'))bmi=weight/(height*height)print('您的BMI值为:',bmi)任务总结
Python中除了基本的输出函数print()外,还可通过占位符、f-strings方法和format()方法实现格式化输出。与输出的数据类型无关使用f-strings方法最方便,与数据类型有关需要使用占位符和format()方法完成输出。谢谢观看输入函数input()输入函数Input()Python提供了input()内置函数从键盘上读入一行文本,例如,编写一个程序让计算机存储用户的名字,就可以使用input()函数提示用户输入名字,并把它存放在变量中。
格式:变量=input([提示字符串])
功能:从键盘接收字符串赋给变量。>>>name=input(“请输入您的名字:”)#张珊请输入您的名字:张珊>>>print(name)张珊输入函数Input()
在执行input()函数时,提示信息会打印在屏幕上,此时程序会暂停,等待用户的输入。若用户输入完成并按下回车键,程序才会继续运行。input()函数会获取用户输入的信息并通过赋值符号将其存放到变量name中。
需要注意的是,输入的数据以字符串类型进行储存,如果输入的是数字,后续需要转换类型才能进行操作。输入函数Input()譬如:>>>a=input(“请输入第一个数字:”)#10请输入第一个数字:10>>>b=input(“请输入第二个数字:”)#20请输入第二个数字:20>>>print(a,b)1020>>>print(a+b)1020>>>print(int(a)+int(b))30任务总结input()函数是Python提供的用于数据输入的函数,它是通过键盘获取文本作为数据赋给变量中,因此,输入的数据是以字符串类型进行储存,如果输入的是数字,后续需要类型转换函数转换类型后才能进行操作。谢谢观看顺序结构-换算重量任务描述
加快建设航天强国是党的二十大建设现代化强国部署之一。2003年10月我国实现了载人航天,经过二十年的发展,我国已实现登上月球的梦想。众所周知,月球上物体的体重是在地球上的16.5%,假设你在地球上的体重是65kg,试编写程序输出你在月球上的体重会是多少?是否发生人们传说的失重现象?顺序结构01IPO是一种程序编写方法。在进行程序设计时,无论程序的规模如何,每个程序都有统一的运算模式:输入数据(Input)、处理数据(Process)、输出数据(Output)),这种朴素的运算模式即IPO。首先,输入(Input)是一个程序的开始。程序要处理的数据有多种来源,形成了多种输入方式,包括:文件输入、网络输入、控制台输入、交互界面输出、随机数据输入、内部参数输入等。其次,处理(Process)是程序对输入数据进行计算产生输出结果的过程。计算问题的处理方法统称为“算法”,它是程序最重要的组成部分。可以说,算法是一个程序的灵魂。最后,输出(Output)是程序展示运算成果的方式。程序的输出方式包括:控制台输出、图形输出、文件输出、网络输出、操作系统内部变量输出等。
顺序结构
程序中的语句默认自上而下顺序执行,即顺序结构。顺序结构是计算机程序中最简单最基本的结构。在顺序结构中,编译/解释系统要求顺序地执行且必须执行有先后顺序排列的每一个最基本的处理单位,常用的顺序排列就是IPO程序控制流程。求三角形面积已知三角形三边长度分别为a、b、c,其半周长为l,根据海伦公式计算三角形面积s。三角形半周长和三角形面积公式分别如下所示:三角形半周长l=(a+b+c)/2三角形面积s=(l*(l-x)*(l-y)*(l-z))**0.5本例子要求编写程序,实现接收用户输入的三角形边长,计算三角形面积的功能。求三角形面积本题是典型的顺序结构通过使用Python常用运算符,按照顺序结构要求进行语句书写来编写程序。根据海伦公式计算三角形面积时,需要先获取三角形各边的边长,然后计算三角形的半周长,通过三角形的半周长与边长计算三角形面积。求三角形面积a=eval(input('边长a='))b=eval(input('边长b='))c=eval(input('边长c='))#计算半周长l=(a+b+c)/2#计算面积s=(l*(l-a)*(l-b)*(l-c))**0.5print('三角形面积s=%0.1f'%s)任务实现—换算重量02
根据题意,计算在月球上的体重前需要使用input()函数接收在地球上的体重。因为体重多使用数字类型表示,所以在Python中需要使用数字类型表示体重。当接收用户输入的体重数据后,根据月球上物体的体重是在地球上的16.5%来计算月球上的体重,例如,地球上体重为65kg,那么月球上的体重为65*16.5/100。
任务分析程序代码#获取月球上的体重mwew=eval(input(“请输入你的体重(kg):”))mw=ew*16.5/100print(‘如果在地球上的体重是{}kg,那么在月球上的体重将是{:.1f}’.format(ew,mw))任务总结
IPO是一种程序编写方法,无论程序的规模如何,每个程序都有统一的运算模式:输入数据(Input)、处理数据(Process)、输出数据(Output)),这种朴素的运算模式即IPO。顺序结构是指程序中的语句自上而下顺序执行,它是计算机程序中最简单最基本的结构。谢谢观看选择结构-根据BMI确定健康状况任务描述
BMI又称为身体质量指数,它是国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。
本任务要求编写程序,实现“根据BMI确定健康状况”判定。选择结构01
if语句
if语句可使程序产生分支,根据分支数量的不同,if语句分为单分支(if)、双分支(if-else)和多分支(if-elif-else)语句。if语句由if关键字、条件表达式和代码块三部分组成,它根据条件表达式的判断结果选择是否执行相应的代码块。
单分支
if语句产生一个分支,根据条件成立否决定是否执行代码块。if条件表达式:
代码块从键盘输入一个数,输出其绝对值。x=float(input(‘请输入一个数:‘))y=xifx<0:y=-xprint(‘{}的绝对值是{}’.format(x,y))if-else语句产生两个分支,可根据条件表达式的判断结果选择执行哪一个分支。if条件表达式:
代码块1else:
代码块2
双分支确定水仙花数水仙花数是一个3位数,它的每位数字的3次幂之和等于它本身,例如,153、370就是一个水仙花数。
num=int(input(“请输入一个三位整数:"))hund=int(num//100)#百位ten=int(num//10%10)#十位single=int(num%10)#个位ifhund**3+ten**3+single**3==num:print(f"{num}是水仙花数")else:print(f"{num}不是水仙花数")多分支:如果程序需要处理多种情况,可以使用if-elif-else语句。if条件表达式1:
代码块1elif条件表达式2:
代码块2elif条件表达式3:
代码块3elif条件表达式n-1:
代码块n-1else:
代码块n模拟下载操作在网上下载文件时,经常会跳出一个提示窗口,询问用户是否执行下载操作,此时若用户选择“y”或“Y”便会执行下载任务,若选择“n”或“N”便会退出下载任务。select=input('是否需要下载?(y/n):')ifselect=='y'orselect=='Y':print('正在请求下载')elifselect=='n'orselect=='N':print('3秒后将返回首页’)else:print('输入有误,请重新选择')任务实现
—根据BMI确定健康状况02
根据题意,首先获取体重和身高,然后根据BMI公式计算其BMI的值。
任务分析身体质量指数(BMI)=体重(kg)÷身高2程序代码height=float(input('请输入您的身高(m):'))weight=float(input('请输入您的体重(kg):'))BMI=weight/(height*height)print('您的BMI值为%.2f'%BMI)ifBMI<18.5:print('体重过轻')elif18.5<=BMI<=23.9:print('体重正常')elif24<=BMI<=27:print('体重过重')elif28<=BMI<=32:print('体重肥胖')else:print('非常肥胖')任务总结程序设计中经常会用到条件判断,譬如,用户登录时需判断用户名和密码是否全部正确,进而决定用户是否能够成功登录。Python中可以利用if语句实现单分支、双分支及多分支结构。谢谢观看循环结构-设计逢7拍手游戏任务描述
逢7拍手游戏的规则是:从1开始顺序数数,数到有7或者包含7的倍数的时候拍手。
本任务要求编写程序,实现“逢七拍手”游戏,输出100以内需要拍手的数字。循环结构01
While循环while循环是一个条件循环语句,当条件满足时重复执行代码块,直到条件不满足为止。格式:while条件表达式:
代码块首先判断条件表达式的结果是否为True,若结果为True执行while循环中的代码块,然后再次判断条件表达式的结果是否为True,若结果仍为True,则再次执行代码块...直至条件表达式的结果为False时结束循环。检测登录系统账号
登录系统一般具有账号和密码检测功能,即检测用户输入的账号和密码是否正确。若用户输入的账号或密码不正确,系统就会提示“用户名或密码错误”和“您还有*次机会”;若用户输入的账号和密码正确,系统就会提示“登录成功”;若输入的账号和密码错误次数超过3次,系统就会提示“输入错误次数过多,请稍后再试”。
本实例要求编写程序,模拟登录系统账号及密码检测功能,并限制账号或密码输错的次数最多为3次。检测登录系统账号count=0 #用于记录用户错误次数whilecount<3:user=input("请输入您的账号:")pwd=input("请输入您的密码:")ifuser=='admin'andpwd=='123': #进行账号密码比对print('登录成功')breakelse:print("用户名或密码错误")count+=1 #初始变量值自增1ifcount==3: #如果错误次数达到3次,则提示并退出print("输入错误次数过多,请稍后再试")else:print(f"您还有{3-count}次机会") #显示剩余次数请输入您的账号:admin请输入您的密码:123登录成功
for循环for循环可以对可迭代对象(序列)进行遍历。for临时变量in可迭代对象:
执行语句1
执行语句2
可迭代对象可以使字符串、列表、元组、集合、字典。
for循环for循环常与range()函数搭配使用,生成一个数字序列,以控制循环中代码段的执行次数。range()函数在for循环中的语法格式如下。foriinrange(strat,end,scan):
循环语句块
这里,start:计数初值,默认值为0,例如range(3)等价于range(0,3)。end:计数终值,但不包括end值,例如range(0,3)是指[0,1,2]区间,不包括3。scan:计数步长,即计数增量,默认值为1,例如range(0,3,1)等价于range(3)。任务实现—逢7拍手游戏02
根据题意,判断一个数字是否与7相关,可分为以下两种情况:是否为7的倍数,即一个数取模值为0;是否包含7,使用find()方法判断,当返回值为-1时表示不包含7。
任务分析程序代码#本题是模拟逢7拍手游戏foriinrange(1,101):#把i转成字符串,使用find方法(字符串中不包含时,返回-1)include=str(i).find("7")#判断条件:既不包含7,也不是7的倍数ifinclude==-1andint(i)%7!=0:#输出,换行符改为顿号print(i,end="、")#如果包含7输出拍手符号星号*elifinclude!=-1orint(i)%7==0:print("*",end='、')
任务总结程序设计中经常会遇到计算非常简单但需要重复多次的问题,这个就需要通过Python的循环结构来解决。Python的循环结构包括while循环结构和for循环结构两种类型。while循环结构利用条件是否满足来解决重复问题,而for循环是通过遍历次数来达到重复的目的。具体使用哪一种因情况而定。谢谢观看多重循环-设计猜数游戏任务描述
猜数游戏是一个古老的密码破译类、益智类小游戏,通常由两个人参与,一个人设置一个数字,一个人猜数字,当猜数的人说出一个数字,由出数字的人告知是否猜中:若猜测的数字大于设置的数字,出数字的人提示“很遗憾,你猜大了”;若猜测的数字小于设置的数字时,出数字的人提示“很遗憾,你猜小了”;若猜数的人在规定的次数内猜中设置的数字,出数字的人提示“恭喜,猜数成功”。
本实例要求编写程序,实现遵循上述规则的猜数字游戏,并限制只有3次机会来猜数。多重循环01
多重循环编写程序用for循环嵌套实现1!+2!+3!+4!的和
在Python中,循环是可以嵌套的,即在一个循环中再写一个循环。循环嵌套后,外层的循环每执行一次,内层的循环都会完成的运行一遍。while循环中可以嵌套while循环。while条件表达式1:
代码块1
while条件表达式2:
代码块2
for循环也可以嵌套使用,其格式如下。for临时变量in可迭代对象:
代码块1for临时变量in可迭代对象:
代码块2多重循环编写程序用for循环嵌套实现1!+2!+3!+4!的和。sum=0foriinrange(1,5):term=1forjinrange(1,i+1):term=term*jprint("{0}!={1}".format(i,term))sum=sum+termprint("sum=",sum)跳转语句02跳转语句
循环结构一般会执行完所有的情况后自然结束,但有些情况下需要跳出循环,这就需要使用跳转语句。python的跳转语句有两个,一个是break语句,用于跳出离它最近一级的循环,通常与if语句结合使用。另一个是continue语句,用于跳出当前循环,继续执行下一次循环。跳转语句可以改变循环结构的执行流程。break语句break语句可用于结束当前整个循环,它跳出离它最近一级的循环,通常与if语句结合使用,放在if语句代码块中。for临时变量in可迭代对象:
执行语句if条件表达式:
代码块break其格式如下:while条件表达式:
代码块if条件表达式:
代码块breakcontinue语句continue语句用于跳出当前循环,继续执行下一次循环。forelementin[0,-2,5,7,-10]:ifelement<=0:continueprint(element)Python中的pass语句是空语句,它是为了保持程序结构的完整性。pass语句不做任何事情,一般用作占位语句。任务实现—设计猜数游戏03
根据题意,游戏是针对1-100以内的整数数字进行猜测,猜测的数字由Python中random模块中randint()方法随机产生;因为规定玩家有5次机会,所以可以使用for循环与range()函数控制循环次数,在猜数的过程中还需要对玩家输入的内容进行判断,这里可以使用if-elif语句判断,如使用isdigit()方法判断玩家输入的内容是否是数字;使用比较运算符判断玩家输入的数字是否符合在规定范围内;判断玩家输入的数字是否与产生的随机数相等,如果相等输出“恭喜你用了x次猜对了”,当输入次数达到5次时,则输出“很遗憾,x次机会已用尽,游戏结束,答案为y”。
任务分析程序代码#本题是设计猜数游戏importrandomprint("猜数字游戏,输入一个1~100以内的数字")random_num=random.randint(1,100)#print(random_num)#打开注释可查看生成的随机数forfrequencyinrange(1,4):number=input("请输入一个数字:")ifnumber.isdigit()isFalse:print('请输入一个正确的数字')elifint(number)<0orint(number)>100:print("请输入1-100范围的数字")elifrandom_num==int(number):print("恭喜你用了%d次猜对了"%frequency)breakelifrandom_num>int(number):print("很遗憾,你猜小了")else:print("很遗憾,你猜大了")iffrequency==3:print("很遗憾,%d次机会已用尽,游戏结束,答案为%d"%(frequency,random_num))
任务总结在Python中,循环是可以嵌套的,即在一个循环中再写一个循环。循环嵌套后,外层的循环每执行一次,内层的循环都会完成的运行一遍。循环一般会执行完所有的情况后自然结束,但有些情况需要停止当前正在执行的循环并跳出循环。python的跳转语句有两个,一个是break语句,用于跳出离它最近一级的循环,通常与if语句结合使用。另一个是continue语句,用于跳出当前循环,继续执行下一次循环。谢谢观看跳转语句—韩信点兵任务描述韩信有一队兵,他想知道人数就进行点兵。他让士兵排队报数,按从1至5报数,最末一个士兵报的数为1;按从1至6报数,最末一个士兵报的数为5;按从1至7报数,最末一个士兵报的数为4;按从1至11报数,最末一个士兵报的数为10。
本任务要求编写程序,猜猜韩信至少有多少兵?跳转语句01
跳出循环循环结构中,一般会一直执行完所有的循环后自然结束,但是有些情况下需要停止当前正在执行的循环,也就是跳出循环。Python中有以下两个跳出循环的语句,它们是:
break语句—跳出整个循环
continue语句—跳出本次循环
break语句break语句用于跳出离它最近一级的循环,通常与if语句结合使用,放在if语句代码块中。
在for循环中其格式如下:for临时变量in可迭代对象:
执行语句if条件表达式:
代码块breakcontinue语句:continue语句用于跳出当前循环,继续执行下一次循环。其语法格式与break语句相同。forelementin[0,-2,5,7,-10]:ifelement>0:
breakprint(element)forelementin[0,-2,5,7,-10]:ifelement<=0:continueprint(element)任务实现—韩信点兵02
根据题意,韩信点兵的方法是士兵报数,从末数获得信息,可以利用Python的取余运算获得结果:
从题目知道,韩信的兵数soldier从21起,假设韩信有万名兵,那么可以利用穷举法进行筛选,筛选的条件是:
soldier%5==1andsoldier%6==5andsoldier%7==4andsoldier%11==10
任务分析程序代码#本题是韩信点兵forsoldierinrange(21,10000):#将士兵范围圈定在21~10000人
ifsoldier%5==1andsoldier%6==5andsoldier%7==4andsoldier%11==10:#将四次报数的余数作为条件
print(f'韩信至少有兵{soldier}人')#当士兵数由21递增的过程中第一个同时满足报数条件的即为至少士兵数,将其输出
break#至少士兵数已求出,跳出循环任务总结程序设计中经常会遇到从循环中跳出的情况,这个就需要通过Python的跳转语句来解决。Python中实现跳转的语句有break语句和continue语句两个,break语句用于跳出离它最近一级的循环;而continue语句用于跳出当前循环,继续执行下一次循环,它们都需要与if语句配合使用。谢谢观看字符串操作-获取密码强度任务描述
用户输入一个字符串作为密码,判断密码强度。规则为:密码长度小于8弱密码,密码长度大于等于8且包含至少两种字符为中等强度,密码包含三种字符为强,包含全部四种字符为极强。本实例要求编写程序,实现判断密码强度,密码强度的判断结果分四种:弱、中、强、极强。
在本任务中,可以将密码作为一个字符串创建、根据密码规则,分别为四种字符设定标识,然后利用多分支对输入的密封进行强度判断。01创建字符串02字符串常见操作03任务实现创建字符串01创建字符串字符串是一种用来表示文本的数据类型,它是由符号或者数值组成的一个连续序列。Python支持使用单引号、双引号和三引号创建字符串,其中单引号和双引号通常用于定义单行字符串,三引号通常用于定义多行字符串。譬如:
'helloitcast'"helloitcast""""mynameisitcastmynameisitcast"""定义字符串时单引号与双引号可以嵌套使用,需要注意的是,使用双引号表示的字符串中允许嵌套单引号,但不允许包含双引号,同样,使用单引号表示的字符串中不允许包含单引号。譬如:‘Hesaid:“hello!goodmorning.”’字符串常见操作02字符串的拼接可以直接使用“+”符号实现。字符串拼接>>>str_one="人生苦短,">>>str_two="我用Python。">>>str_one+str_two人生苦短,我用Python。字符串的replace()方法可使用新的子串替换目标字符串中原有的子串,该方法的语法格式如下:字符串替换str.replace(old,new,count=None)
old
--
表示原有子串
new
--
表示新的子串count
--
用于设定替换次数字符串常见操作字符串的split()方法可以使用分隔符把字符串分割成序列,该方法的语法格式如下:字符串分割str.split(sep=None,maxsplit=-1)sep
--分隔符,默认为空格maxsplit
--
用于设定分割次数。字符串对象的strip()方法一般用于去除字符串两侧的空格,该方法的语法格式如下:去除字符串两侧空格str.strip(chars=None)chars
--要去除的字符,默认为空格。任务实现03根据分析可整理出以下实现思路:(1)创建密码字符串。(2)根据密码规则设定各种不同字符的标识。(3)使用多分支根据标识和长度判断密码的强弱等级。代码如下:#判断密码强度psw=input('请输入密码:')upp,low,dig,oth=0,0,0,0forchinpsw:if'A'<=ch<='Z':upp=1elif'a'<=ch<='z':low=1
elif'0'<=ch<='9':dig=1else:oth=1iflen(psw)<8:print('弱')else:ifupp+low+dig+oth==4:print('极强')elifupp+low+dig+oth==3:print('强')elifupp+low+dig+oth==2:print('中')else:print('弱')任务总结本任务主要介绍了字符串的创建及常用的操作。并以判断密码强度为例实现通过字符串的操作来完成任务的方法。谢谢观看格式化字符串-获取文本进度条任务描述进度条以动态方式实时显示计算机处理任务时的进度,它一般由已完成任务量与剩余未完成任务量的大小组成。本任务要求编写程序,实现进度条动态显示效果。字符串的格式化输出Python字符串可通过占位符、format()方法和f-strings三种方式实现格式化输出。"hello,%s"%name占位符f-strings"hello,{}
".format(name)f"hello,{name}")format()01占位符%02format()方法03f-strings占位符%01一个字符串中可以同时包含多个占位符。>>>name="李强">>>age=12>>>"你好,我叫%s,今年我%d岁了。"%(name,age)你好!我叫李强,今年我12岁了。占位符%Python将一个带有格式符的字符串作为模板,使用该格式符为真实值预留位置,并说明真实值应该呈现的格式。>>>name="李强">>>"你好,我叫%s"%name。你好,我叫李强。使用占位符%时需要注意变量的类型,若变量类型与占位符不匹配,程序会产生异常。不同的占位符为不同类型的变量预留位置,常见的占位符如下表所示。format()方法02format()方法format()方法也可以将字符串进行格式化输出,使用该方法无需再关注变量的类型。format()方法的基本使用格式如下:<字符串>.format(<参数列表>)若字符串中包含多个没有指定序号(默认从0开始)的“{}”,则按“{}”出现的顺序分别用format()方法中的参数进行替换,否则按照序号对应的format()方法的参数进行替换。>>>name="张明">>>age=21>>>"你好!我的名字是:{},今年我{}岁了。".format(name,age)你好!我的名字是:张明,今年我21岁了。format()方法还可以对数字进行格式化,包括保留n位小数、数字补齐和显示百分比。>>>pi=3.1415>>>"{:.2f}".format(pi)3.14保留2位小数>>>num=1>>>"{:0>3d}".format(num)001数字补齐>>>num=0.1>>>"{:.0%}".format(num)10%显示百分比format()方法f-strings03f-stringsf-strings在格式上以f或F引领字符串,字符串中使用{}标明被格式化的变量。>>>address=‘北京’>>>f‘{address}欢迎你!‘北京欢迎你!使用f-strings还可以将多个变量进行格式化输出。>>>
name='张天'>>>
age=20 >>>
gender='男'>>>
f'我的名字是{name},今年{age}岁了,我的性别是:{gender}。'我的名字是张天,今年20岁了,我的性别是:男。利用字符串的索引解决验证码校验问题。可以将进度条拆分为百分比、已完成下载量、未完成下载量、显示输出四部分,其中百分比使用已完成下载量除以下载总量乘100%所得,已完成下载量使用符号“*”表示,未完成下载量使用符号“.”来表示,显示输出通过print()函数与format()函数将计算结果根据指定格式输出。任务总结格式化字符串将指定的字符串转换为想要的格式。它可以将输出内容变得整齐划一。Python中有使用占位符%格式化、使用format()方法格式化字符串和使用f-string格式化三种格式化字符串方法。它们的使用方法灵活多样,无论使用哪一种都可以达到格式化字符串的目的。谢谢观看字符串应用-过滤敏感词任务描述敏感词是指带有敏感政治倾向、暴力倾向、不健康色彩的词或不文明的词语。大部分网站、论坛、社交软件都会使用敏感词过滤系统,考虑到该系统的复杂性,这里使用字符串中的replace()方法模拟敏感词过滤,将含有敏感词的语句使用“*”符号进行替换。本任务要求编写程序,实现替换语句中敏感词功能。01字符串常见操作02任务实现字符串常见操作01字符串的常见操作字符串的拼接可以直接使用“+”符号实现。字符串拼接>>>str_one=“迎接人工智能,">>>str_two="我用Python。">>>str_one+str_two迎接人工智能,我用Python。通过join()方法使用指定的字符连接字符串并生成一个新的字符串。该方法的语法格式是:str.join(iterable)这里:iterable表示连接字符串的字符字符串的常见操作使用*号完成字符串复制,复制几次就在*号后面输入对应的阿拉伯数字。字符串复制字符串的find()方法可实现字符串的查找操作,该方法可查找字符串中是否包含子串,若包含子串则返回子串首次出现的索引位置,否则返回-1。其语法格式如下:str.find(sub[,start[,end]])这里:sub用于指定要查找的子串,start开始索引,默认值为0,end结束索引,默认为字符串的长度。字符串查找字符串的常见操作字符串的replace()方法可使用新的子串替换目标字符串中原有的子串,该方法的语法格式如下:字符串替换str.replace(old,new,count=None)字符串的split()方法可以使用分隔符把字符串分割成序列,该方法的语法格式如下:字符串分割sep
--分隔符,默认为空格maxsplit
--
用于设定分割次数。str.split(sep=None,maxsplit=-1)字符串的常见操作字符串对象的strip()方法一般用于去除字符串两侧的空格,该方法的语法格式如下:去除字符串两侧空格str.strip(chars=None)chars
--要去除的字符,默认为空格。字符串大小写转换有一些特点情况需要对字符串的大小写形式有要求。譬如,表示特殊对全部字母大写,如CBA。表示月份、周日、节假日时每个单词首字母大写,如Monday。Python中支持字符串的字母大小写转换的方法有upper()、lower()、capitalize()和title()。任务实现02过滤敏感词(1)设定一个敏感词库(本任务敏感词库设定为一个字符串);(2)使用for循环遍历敏感词库;(3)遍历过程中,使用if语句判断用户输入的语句中是否含有敏感词,如果包含敏感词,则使用replae()方法将其替换为“*”;(4)将替换后的语句赋值给变量test_sentence;(5)在for循环外使用print()函数输出变量test_sentence。任务总结Python中有关字符串的常用操作有字符串的拼接、字符串复制、字符串查找、字符串替换、字符串的分割、去除字符串两侧空格、字符串的字母大小写转换。谢谢观看字符串的检索和切片任务描述
用户登录网站经常需要输入验证码。验证码包含大小写英文字母和数字,随机出现。用户在输入验证码时不区分大小写,只要各字符出现的顺序正确即可通过验证。本任务要求编写程序完成验证码的匹配验证。01字符串创建02字符串索引03字符串切片字符串的创建01字符串的定义字符串是一种用来表示文本的数据类型,它是由符号或者数值组成的一个连续序列。Python支持使用单引号、双引号和三引号定义字符串,其中单引号和双引号通常用于定义单行字符串,三引号通常用于定义多行字符串。譬如:
字符串索引02字符串索引
字符串是一个由若干字符组成的序列,每个字符所处的位置是固定的,并且对应着一个位置编号,编号从0开始,依次递增1,这个位置编号被称为索引或者下标。索引自0开始从左至右依次递增,这样的索引称为正向索引;若索引自-1开始,从右至左依次递减,则索引为反向索引。字符串索引一个字符:通过索引可以获取指定位置的字符,语法格式如下:字符串[索引]当通过索引访问字符串值时,索引的范围不能越界,否则程序会报索引越界的异常。字符串切片03字符串切片一串字符:切片是截取目标对象中一部分的操作,语法格式如下:[起始:结束:步长]切片步长默认为1。注意,切片选取的区间属于左闭右开型,切下的子串包含起始位,但不包含结束位。利用字符串的索引解决验证码校验问题。
用户登录网站经常需要输入验证码。验证码包含大小写英文字母和数字,随机出现。用户在输入验证码时不区分大小写,只要各字符出现的顺序正确即可通过验证。
本实例要求编写程序完成验证码的匹配验证。
假设当前显示的验证码是‘Zy6K’,如果用户输入验证码正确,输出“验证码正确”,输入错误时输出“验证码错误,请重新输入”。任务总结字符串是一个由元素组成的序列。每个元素所处的位置是固定的,并且对应着一个位置编号,编号从0开始,依次增1,这个位置编号被称为索引或者下标。通过索引可获取指定位置的字符通过切片可截取目标对象的子串。谢谢观看嵌套列表-随机分配办公室任务描述
为扩大招生规模,学校最近新招聘了6名教师,已知该学校有2个空闲办公室且工位充足,现需要随机安排这6名教师的工位。
本任务要求编写程序,将6名教师随机分配到2个办公室中。嵌套列表01
列表可以存储任何元素,当然也可以存储列表,若列表中存储的元素也是列表,则称为嵌套列表。
创建嵌套列表嵌套列表的创建方式与普通列表的创建方式相同。[[0],[1],[2,3]]以上代码创建了一个嵌套列表,该列表中包含3个列表类型的元素,其中索引为0的元素是[0],索引为1的元素是[1],索引为2的元素是[2,3]。
访问嵌套列表
若希望访问嵌套的内层列表中的元素,需要先使用索引获取内层列表,再使用索引访问内层列表中的元素。
访问嵌套列表获取嵌套的第一个内层列表中的第一个元素的示例代码如下:nesting_li=[['李瑶','王濯'],['李蒙'],['张宝','李清']]print(nesting_li[0][0])李瑶若希望向嵌套的内层列表中添加元素,需要先获取内层列表,再调用相应的方法往指定的列表中添加元素:nesting_li=[['hi'],['Python']]nesting_li[0].append('Python')print(nesting_li)[['hi','Python'],['Python']]任务实现—随机分配办公室02
任务分析
本任务中,学校有2个空闲的办公室,每个办公室都可以随意容纳教师。由于学校和办公室分别用于存储办公室与教师,且它们中数据的个数是可变的,因此可以用列表来表示学校和办公室,用嵌套列表表示学校与办公室的包含关系,这里,表示第一个办公室的空列表的索引为1,表示第二个办公室的空列表的索引为2。
任务分析
随机分配办公室,可以使用random.randint(0,1)实现,需使用importrandom导入random模块。随机分配办公室是将每名老师逐个安排到任意的办公室中,这个过程可拆分为两步,第一步就是逐个取出教师姓名,可用遍历列表元素来实现;第二步就是安排到任意的办公室,可用random模块中randint()方法生成0-1之间的随机整数,将产生的整数作为索引来随机获取嵌套列表的内层列表,之后在该列表中执行添加教师姓名的操作。程序代码#随机分配办公室importrandomoffices=[[],[]]names=['张老师','李老师','赵老师','高老师','刘老师','周老师']fornameinnames:index=random.randint(0,1)print(index)offices[index].append(name)num=1forte_nameinoffices:print('办公室%d的人数为:%d'%(num,len(te_name)))num+=1fornameinte_name:print("%s"%name,end='')print("")程序总结
以上代码首先定义了一个包含2个办公室的嵌套列表offices,定义了另一个包含6位教师姓名的列表names,然后将生成的0~1之间的随机数作为索引获取嵌套列表offices中的任一内层列表,将遍历names取出的元素添加到该内层列表中,直至遍历出最后一个元素为止,最后输出每个办公室的教师分配情况。任务总结
列表式可以嵌套的,嵌套列表是指列表中存储的元素也是列表。嵌套列表的创建方法与普通列表的创建方法相同,对于嵌套列表若访问内层列表中的元素,需要先使用索引获取内层列表,再使用索引访问内层列表中的元素。谢谢观看元组应用-中英文数字对照表任务描述阿拉伯数字因其具有简单易写、方便使用的特点成为了最流行的数字书写方式,但在使用阿拉伯数字计数时,可以对某些数字不漏痕迹的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 周长的认识教学设计
- 办公区消防演习方案
- 齐齐哈尔市梅里斯达斡尔族区2025届数学三年级下学期期中达标测试试题含答案解析
- 《工序质量预控计划》试题测试卷附答案
- 2025广东汕尾海丰县国有资产监督管理局招聘6名县属国有企业工作人员拟聘用人员(第三批)笔试历年典型考点题库附带答案详解
- 2025广东佛山市禅城区国有资产监督管理局下属企业招聘工作人员1人笔试历年常考点试题专练附带答案详解
- 2025年陕西华山旅游集团有限公司招聘(50人)笔试历年难易错考点试卷带答案解析
- 2025年秋季安徽六安市霍邱联合村镇银行社会招聘笔试历年典型考题及考点剖析附带答案详解
- 2025年甘肃省白银有色集团股份有限公司技能操作人员社会招聘552人笔试历年典型考点题库附带答案详解
- 2025年河北石家庄兴蓉环境发展有限责任公司招聘化验技术岗岗位笔试历年常考点试题专练附带答案详解
- 2026年重庆市“五方面人员”选拔乡镇领导班子考试历年参考题库(含完整答案)
- (正式版)DB31 650-2020 《非织造布单位产品能源消耗限额》
- 2026年浙江基层法律服务工作者执业核准考试试题及答案
- GB/T 33969-2026高炉富氧喷煤技术规范
- 2026年幼儿园课程故事培训会
- LY/T 1497-2025枣
- 2025年全国检察官遴选考试真题及参考答案
- 2026年事业单位考试国内核心时事政治考点梳理(附50题)
- 2026中国铌期货市场投资策略与价格波动研究报告
- 2019超高压输变电系统内部过电压分析与PSCAD EMTDC仿真应用
- 消除艾梅乙母婴传播培训
评论
0/150
提交评论