版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目描述相信很多玩家都玩过奥特曼打怪兽游戏,把邪恶的小怪兽往死里欺负真的是一件非常舒爽的事情。现要求编写第一个Python程序,模拟打怪兽游戏。假设有怪兽(monster)和英雄(hero)两个角色,二者为敌对状态。两个角色初始血量为20,攻击力的伤害服从当前攻击力正负2的随机分布,二者相互攻击,判断谁获胜?掌握掌握掌握掌握掌握Python中循环结构语句的使用23掌握Python中的选择嵌套和循环嵌套掌握循环控制语句的使用41掌握Python中选择结构语句的使用项目目标项目三打怪兽游戏3.1认识结构化程序设计认识结构化程序设计结构化程序设计的基本思想是采用“自顶向下,逐步求精”的程序设计方法和"单入口单出口"的控制结构。任何算法功能都可以通过由程序模块组成的三种基本程序结构的组合:顺序结构、选择结构和循环结构来实现。认识结构化程序设计顺序结构是最简单、最基本的流程控制,按照代码的先后顺序,依次执行,其流程图如图所示。语句A开始语句B语句C结束认识结构化程序设计print("开始")print("语句A")print("语句B")print("语句C")print("结束")项目三打怪兽游戏3.2使用选择结构使用选择结构if语句
检测某个条件是否成立,从而判断是否执行相应的代码块。语法格式:
if条件表达式:
代码块使用选择结构if语句
执行过程:先计算条件表达式的值,当条件表达式的值为True时,则执行代码块;否则跳过if语句,执行后续代码块。开始代码块条件表达式TrueFalse后续代码块结束使用选择结构if语句举例:判断输入的用户名和密码是否正确
user_name=input(”请输入用户名:”)password=input(”请输入登录密码:”)ifuser_name==”admin”andpassword==”123”:print(”输入正确,登录成功!”)使用选择结构if语句举例:求输入的三个整数的最大值
number1=int(input(”请输入第1个整数:”))number2=int(input(”请输入第2个整数:”))number3=int(input(”请输入第3个整数:”))max=number1ifnumber2>max:max=number2ifnumber3>max:max=number3print(”三个整数的最大值为:”,max)if...else语句
产生两个分支,可根据条件表达式的判断结果选执行哪一条分支。语法格式:
if条件表达式:
代码块1
else:
代码块2使用选择结构if...else语句
执行过程:先计算条件表达式的值,当条件表达式的值为True时,则执行代码块1;否则执行代码块2。然后接着执行后续代码块。FalseTrue结束后续代码块开始代码块1条件表达式代码块2使用选择结构if...else语句举例:判断输入的整数是奇数还是偶数使用选择结构number=int(input(”请输入一个整数:”))ifnumber%2==0:print("%d是一个偶数"%number)else:print("%d是一个奇数"%number)if...else语句举例:判断输入的年份是否是闰年使用选择结构year=int(input(”请输入一个年份:”))ifyear%4==0andyear%100!=0oryear%400==0:print("%d年是闰年"%year)else:print("%d年不是闰年"%year)if...elif...else语句:判断多个条件表达式。
语法格式:
if条件表达式1:
代码块1
elif条件表达式2:
代码块2
...
elif条件表达式n:
代码块n
[else:
代码块n+1]使用选择结构if...elif...else语句执行过程:先计算条件表达式1的值,当条件表达式1的值为True时,则执行代码块1;否则计算条件表达式2的值,当条件表达式2的值为True时,则执行代码块2......如果前面n个条件表达式的值均为False,执行代码块n+1。然后接着执行后续代码块。True条件表达式n条件表达式2结束后续代码块开始代码块1条件表达式1代码块2TrueFalseFalse代码块n代码块n+1TrueFalse使用选择结构if...elif...else语句举例:判断输入的百分制成绩的等级使用选择结构score=int(input(”请输入一个百分制成绩:”))ifscore>100orscore<0:print("成绩输入错误")elifscore>=90:print("%d的成绩等级为A"%score)elifscore>=80:print("%d的成绩等级为B"%score)elifscore>=70:print("%d的成绩等级为C"%score)elifscore>=60:print("%d的成绩等级为D"%score)else:print("%d的成绩等级为E"%score)if...elif...else语句举例:判断输入的月份对应的季节使用选择结构month=int(input("请输入一个月份:"))ifmonthin(3,4,5):print("%d月对应的是春季"%month)elifmonthin(6,7,8):print("%d月对应的是夏季"%month)elifmonthin(9,10,11):print("%d月对应的是秋季"%month)elifmonthin(12,1,2):print("%d月对应的是冬季"%month)else:print("%d月没有对应的季节"%month)选择结构语句嵌套:if语句的嵌套是指if语句内部包含if语句。
语法格式:
if条件表达式1: 代码块1
if条件表达式2:
代码块2使用选择结构选择结构语句嵌套执行过程:先判断外层if语句条件表达式1的值是否为True,如果为True则执行代码块1,再判断内层if语句条件表达式2的值是否为True,如果为True则执行代码块2。其中,外层和内层的if判断都可以使用if语句、if...else语句和if...elif...else语句,并且if语句可以多层嵌套。使用选择结构选择结构语句嵌套举例:模拟乘客乘车进站流程。
使用选择结构temperature=36.6ticket=1#1代表有车票,0代表没有车票safe="Y"#Y或y代表安全,N或n代表危险iftemperature<37.3:print("体温正常,请进行验票")ifticket==1:print("验票通过,请进行安检")ifsafe=="y"orsafe=="Y":print("通过安检,请进站候车")else:
print("携带危险物品,等待警察处理")
else:
print("请先买票!")else:
print("体温异常!")选择结构语句嵌套举例:判断是否为酒后驾车
使用选择结构proof=int(input("请输入驾驶员每100ml血液酒精的含量:"))ifproof<20:
print("酒精含量正常,请小心驾驶!")else:
ifproof<80:print("酒精含量异常,您已构成酒驾,请接受处理!")
else:print("酒精含量异常,您已构成醉驾,请接受处理!")if语句if...else语句if...elif...else语句if语句嵌套
使用选择结构——小结项目三打怪兽游戏3.3使用循环结构使用循环结构while语句
条件循环语句,当条件表达式成立时重复执行代码块,直到条件表达式不成立为止。语法格式:
while条件表达式:
代码块使用循环结构while语句
执行过程:先计算条件表达式的值,当条件表达式的值为True时,则执行代码块,然后再重新计算条件表达式的值是否为True,若仍为True,则再次执行代码块......如此循环,直到条件表达式的值为False时,才终止循环,执行后续代码块。开始代码块条件表达式TrueFalse后续代码块结束使用循环结构while语句举例:求1~100之间数字的和i=1sum=0whilei<=100:sum+=ii+=1print('1~100之间的数字之和为:%d'%sum)使用循环结构while语句举例:实现用户登录管理count=1whilecount<=3:name=input("请输入用户名:")password=input("请输入密码:")ifname=="admin"andpassword=="123":
print("登录成功")
breakelse:print("登录失败")
print("您还有%d次机会"%(3-count))
count+=1else:
print("登录次数超过3次,请稍后登录")for语句:可以遍历任何序列的项目,如一个列表或者一个字符串。语法格式:
for变量in序列:
代码块使用循环结构for语句执行过程:
先判断遍历序列中是否有未遍历的元素,若有,将遍历序列中第1个未遍历元素的值赋给循环变量,然后再判断遍历序列中是否有未遍历的元素,若仍有,则再次执行代码块......如此循环,直到没有未遍历的元素,才终止循环,执行后续代码块。代码块有未遍历元素结束后续代码块TrueFalse变量=元素开始使用循环结构for语句举例:遍历序列使用循环结构forletterin"Python":#遍历字符串print("当前字母:",letter)fruits=["banana","apple","mango"]
forfruitinfruits:#遍历列表print("当前水果:",fruit)print("Goodbye!")for语句举例:判断输入的一个整数是不是素数使用循环结构number=int(input("请输入一个大于1的自然数:"))foriinrange(2,number):ifnumber%i==0:print(number,"不是一个素数")breakelse:print(number,"是一个素数")循环语句嵌套:在一个循环结构的循环体内又包含另一个完整的循环结构,称为循环的嵌套。当2个(甚至多个)循环结构相互嵌套时,位于外层的循环结构常简称为外层循环或外循环,位于内层的循环结构常简称为内层循环或内循环。使用循环结构循环语句嵌套格式使用循环结构while条件表达式1:
代码块1
while条件表达式2:
代码块2for变量1in序列1: 代码块1
for变量2in序列2:
代码块2循环语句嵌套执行过程(1)当外层循环条件为True时,则执行外层循环(属于外循环的语句)。(2)外层循环体中包含了普通程序和内循环,当内层循环的循环条件为True时则执行内循环,直到内层循环条件为False,跳出内循环。(3)如果此时外层循环的条件仍为True,则返回第2步,继续执行外层循环体,直到外层循环的循环条件为False。(4)当内层循环的循环条件为False,且外层循环的循环条件也为False,则整个嵌套循环才算执行完毕。使用循环结构循环语句嵌套举例:打印用*组成的正三角形使用循环结构i=1whilei<=5:j=1whilej<=i:print("*",end=’’)j+=1
print()
i+=1分析:这个三角形的规律是,第1行打印一个符号*,第2行打印两个符号*,以此类推,每行打印的符号*的个数和行号是相同的。这里可以使用循环嵌套来实现,使用外层循环控制行,内层循环控制每行要打印的符号个数。循环语句嵌套举例:打印九九乘法表使用循环结构foriinrange(1,10):forjinrange(1,i+1):print("%d*%d=%-2d"%(j,i,j*i),end="")
print()分析:定义了一个外循环变量i,用来控制行数;定义了一个内循环变量j,用来控制列数,也就是每行要打印的乘法表达式的个数。通过观察可以发现,每一个乘法表达式的被乘数可以用内循环变量j来表示,乘数可以用外循环变量i来表示,所以乘法表达式可以用j*i来表示。另外,为了乘法表打印的整齐和美观,程序的第3行代码用%-2d将数字按宽度为2,采用左对齐方式输出,若数据位数不到2位,则右边补空格。while语句for语句循环语句嵌套
使用循环结构——小结项目三打怪兽游戏3.4循环控制语句循环控制语句break语句
用来终止循环语句。语法格式:break举例:使用for循环遍历字符串”Python”,如果遍历到字符”h”,循环结束。forletterin"Python":ifletter=="h":breakprint("当前字母:",letter)循环控制语句continue语句
用于跳出当前循环,继续执行下一轮循环。语法格式:continue举例:循环遍历字符串”Python”,把字母”h”删除掉。forletterin"Python
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026成人机械通气患者俯卧位护理解读
- 2026年整体软装行业分析报告及未来发展趋势报告
- 2026年镍氢充电电池行业分析报告及未来发展趋势报告
- 2026年网上复诊行业分析报告及未来发展趋势报告
- 危重患者抗生素的经验性选择与剂量调整总结2026
- 2026年脱毛剂行业分析报告及未来发展趋势报告
- 2026年2-氯-4-羟基吡啶行业分析报告及未来发展趋势报告
- 2026年客运汽车站行业分析报告及未来发展趋势报告
- 2026年省考公共基础知识冲刺题库及参考答案
- 2025年心身医学测试题库及答案
- 国家事业单位招聘2025中国人民大学财务处招聘3人笔试历年参考题库典型考点附带答案详解
- T∕CAMDA 36-2026 双孢蘑菇采摘机器人
- 商贸物流专业群建设方案
- 经销商管理系统
- 吾悦广场内部管理制度
- 融通地产集团社会招聘考试题
- 2026年叉车机械理论考试题库及一套答案
- 2026年中国化工经济技术发展中心招聘备考题库附答案详解
- 2025至2030中国无源和互连电子元件行业市场深度研究与战略咨询分析报告
- T-GDSX 001-2024 装配式园林景观设计指引
- 高危VTE患者的护理
评论
0/150
提交评论