第八课 需求分析
需求分析任务:

  1. 功能分析
  2. 性能分析
    EG: 相应时间、主存容量、磁盘容量、安全性、等
  3. 可靠性和可用性
  4. 出错处理需求
    系统发现错误时采取的行动,主要在系统关键部分设置
  5. 接口需求
    用户接口、硬件接口、软件接口、通信接口等
  6. 约束
    精度、工具和语言、设计约束、硬件约束、标准等
  7. 逆向需求
  8. 将来可能提出的要求
    实体联系图
    状态转换图
    ER图

python函数:

我们知道圆的面积计算公式为:
S = r π 2
当我们知道半径 r 的值时,就可以根据公式计算出面积。假设我们需要计算 3 个不同大小的
圆的面积:
r1 = 12.34
r2 = 9.08
r3 = 73.1
s1 = 3.14 * r1 * r1
s2 = 3.14 * r2 * r2
s3 = 3.14 * r3 * r3
当代码出现有规律的重复的时候,你就需要当心了,每次写 3.14 * x * x 不仅很麻烦,而且,如果要把 3.14 改成 3.14159265359 的时候,得全部替换。

有了函数,我们就不再每次写 s = 3.14 * x * x,而是写成更有意义的函数调用 s =
area_of_circle(x),而函数 area_of_circle 本身只需要写一次,就可以多次调用。

基本上所有的高级语言都支持函数,Python 也不例外。Python 不但能非常灵活地定义函数,而且本身内置了很多有用的函数,可以直接调用。

抽象
抽象是数学中非常常见的概念。举个例子:
计算数列的和,比如:1 + 2 + 3 + … + 100,写起来十分不方便,于是数学家发明了求
和符号∑,可以把 1 + 2 + 3 + … + 100 记作:






小结
定义函数时,需要确定函数名和参数个数
如果有必要,可以先对参数的数据类型做检查;
函数体内部可以用 return 随时返回函数结果;
函数执行完毕也没有 return 语句时,自动 return None。
函数可以同时返回多个值,但其实就是一个 tuple

自定义函数的的实例:
1.源代码:

print('请输入当天行走的步数!')
step = input()
calorie = int(step)*28
print('今天共消耗卡路里:',calorie,"(即" ,calorie/1000,"千卡)")

更改为自定义函数代码:

def calories(s):return int(s)*28
print('请输入当天行走的步数:')
s= int(input())
print('今天共消耗卡路里:',calories(s),"(即" ,calories(s)/1000,"千卡)")

2.源代码:

while True:print('\n查询能量请输入能量来源!退出程序请输入0\n')print('能量来源如下:\n\n''生活缴费、行走捐、共享单车、线下支付、网络购票\n')info = input()         print()               if info=='生活缴费':print('180g')    elif info == '行走捐':print('200g')elif info=='共享单车':print('80g')elif info=='线下支付':print('5g')elif info=='网络购票':print('80g')elif info=='0':print('已退出!')break

更改为自定义函数代码:

def energy(c):while True:print()if c=='生活缴费':return('180g')elif c == '行走':return('200g')elif c=='共享单车':return('80g')elif c=='线下支付':return('5g')elif c=='网络购票':return('80g')elif c=='0':return('已退出!')break
print('\n查询能量请输入能量来源!退出程序请输入0\n')
print('能量来源如下:\n\n''生活缴费、行走、共享单车、线下支付、网络购票\n')
c = input()
print(energy(c))

3.源代码:

print('——————10086查询功能——————\n')
print('输入1,查询当前余额\n''输入2,查询当前剩余流量\n''输入3,查询当前剩余通话\n''输入0,退出自助查询系统!')
while True:info = input()    # 获取输入内容if info == '1':print('当前余额为:999元')elif info == '2':print('当前剩余流量为:5G')elif info =='3':print('当前剩余通话为:189分钟')elif info == '0':print('退出自助查询系统!')break

更改为自定义函数代码:

def cost(money):while True:if money == '1':return('当前余额为:999元')elif money == '2':return('当前剩余流量为:5G')elif money == '3':return('当前剩余通话为:189分钟')elif money == '0':return('退出自助查询系统!')break
print('——————10086查询功能——————\n')
print('输入1,查询当前余额\n''输入2,查询当前剩余流量\n''输入3,查询当前剩余通话\n''输入0,退出自助查询系统!')
money = input()
print(cost(money))

4.源代码:

Tanks =['苏烈','刘邦','钟馗','张飞','牛魔','程咬金','白起','刘禅','庄周','项羽','廉颇','巨灵神','安禄山','猪八戒']
warriors=['狂铁','裴擒虎','铠','孙悟空','哪吒','杨戬','橘右京','亚瑟','雅典娜','夏侯惇','关羽','吕布','韩信','老夫子','达摩','典韦','曹操','钟无艳','墨子','赵云','刑天','龙且']
Assassins=['百里玄策','庞统','花木兰','阿轲(荆轲)','不知火舞','李白','娜可露露','兰陵王','露娜','韩信','宫本武藏','盖聂','红拂']
Masters =['杨玉环','弈星','女娲','周瑜','鬼谷子','芈月','干将莫邪','东皇太一','大乔','诸葛亮','貂蝉','张良','安琪拉','不知火舞','姜子牙','武则天','王昭君','甄姬','扁鹊','高渐离','嬴政','妲己','小乔']
Shooters=['公孙离','百里守约','后羿','刘备','黄忠','马可波罗','成吉思汗','虞姬','李元芳','艾琳','狄仁杰','鲁班七号','孙尚香']
auxiliarys=['明世隐','梦奇','孙膑','太乙真人','蔡文姬']
print('“王者荣耀”游戏角色:')
print('====坦克:====')
for Tank in Tanks:print(Tank, end=' ')
print('\n====战士:====')
for warrior in warriors:print(warrior, end=' ')
print('\n====刺客:====')
for Assassin in Assassins:print(Assassin, end=' ')
print('\n====法师:====')
for Master in Masters:print(Master, end=' ')
print('\n====射手:====')
for Shooter in Shooters:print(Shooter, end=' ')
print('\n====辅助:====')
for auxiliary in auxiliarys:print(auxiliary, end=' ')

更改为自定义函数代码:

def name(T,W,A,M,S,F):print('====坦克:====')for T in S:print(S, end=' ')print('\n====战士:====')for B in W:print(W, end=' ')print('\n====刺客:====')for E in A:print(A, end=' ')print('\n====法师:====')for K in M:print(M, end=' ')print('\n====射手:====')for N in S:print(S, end=' ')print('\n====辅助:====')for G in A:print(A, end=' ')
print('“王者荣耀”游戏角色:')
T='苏烈','刘邦','钟馗','张飞','牛魔','程咬金','白起','刘禅','庄周','项羽','廉颇','巨灵神','安禄山','猪八戒'
W='狂铁','裴擒虎','铠','孙悟空','哪吒','杨戬','橘右京','亚瑟','雅典娜','夏侯惇','关羽','吕布','韩信','老夫子','达摩','典韦','曹操','钟无艳','墨子','赵云','刑天','龙且'
A='百里玄策','庞统','花木兰','阿轲(荆轲)','不知火舞','李白','娜可露露','兰陵王','露娜','韩信','宫本武藏','盖聂','红拂'
M='杨玉环','弈星','女娲','周瑜','鬼谷子','芈月','干将莫邪','东皇太一','大乔','诸葛亮','貂蝉','张良','安琪拉','不知火舞','姜子牙','武则天','王昭君','甄姬','扁鹊','高渐离','嬴政','妲己','小乔'
S='公孙离','百里守约','后羿','刘备','黄忠','马可波罗','成吉思汗','虞姬','李元芳','艾琳','狄仁杰','鲁班七号','孙尚香'
F='明世隐','梦奇','孙膑','太乙真人','蔡文姬'
print(name(T,W,A,M,S,F))

从登陆页面进入操作页面 的状态转换图

Python复习第八课(2_34_0514_Python)相关推荐

  1. Python数据分析第八课:初识Matplotlib

    俗话说:"文不如表,表不如图",如果我们将海量的数据绘制成图,就可以让我们的数据更加直观的呈现,更具说服力. 在"互联网+时代",90%的信息传到大脑,其实都是 ...

  2. python系统-Python(第八课,简单开发系统)

    一,回文数判断续 题目:输入一个五位数,使用字符串索引的方法判断是不是回文数 上一次练习中,我们使用取余,地板除等操作,判断一个数是不是回文数,略显麻烦.当我们学过序列的索引和遍历之后,利用这两点,我 ...

  3. python第二十八课——编码小常识

    2.内存和硬盘: 内存:计算机硬件组成部分之一,它是一个容器,用来存储数据:处理数据速度快, 存储数据量小:断电死机数据会丢失,短暂性存储数据 硬盘:计算机硬件组成部分之一,它是一个容器,用来存储数据 ...

  4. python画五角星-Python第八课 绘制五角星1.0

    第八课 绘制五角星1.0 学习目标: 1. 了解并学会使用turtle库. 2. 复习while循环. 教学重难点: turtle库的使用. 学习内容: 案例2: 使用turtle 库在Python中 ...

  5. python画五角星代码_Python第八课 绘制五角星1.0

    第八课 绘制五角星1.0 学习目标: 1. 了解并学会使用turtle库. 2. 复习while循环. 教学重难点: turtle库的使用. 学习内容: 案例2: 使用turtle 库在Python中 ...

  6. 打印循环换行_科学向日葵在线课堂 ——张老师讲Python 第八课 周而复始为循环2...

    点击蓝字关注我们 张老师讲编程--和爸爸妈妈一起学Python Python 的编辑器有很多,例如 PyCharm.Spyder.Notepad++等等,大家根据需要选择一个就好,初期程序代码量不大, ...

  7. Python学习——复习5次课(12月2日)

    任务: 复习5次课(12月2日) 1.8 递归列出目录里的文件 1.9 匿名函数 2.0-2.4 内建函数 笔记: 递归的注意事项 必须有最后的默认结果 if n == 0 递归参数必须向默认结果收敛 ...

  8. Python第八课(函数1)

    Python第八课(函数1)    >>>转到思维导图>>>转到中二青年 函数的返回值 函数内要想返回给调用者值 必须用关键字return 不写return:函数默 ...

  9. Python界面编程第十八课:Pyside2 (Qt For Python)Slider拖动条

    先上代码: from PySide2.QtWidgets import QApplication, QWidget,QHBoxLayout, QLabel, QSlider import sys fr ...

最新文章

  1. apex图表使用饼图居中_ppt图表技巧:如何制作美观简洁的百分比饼图
  2. linux部署jar项目报错_如何在Linux服务器上部署jar包
  3. 前端学习笔记之 创建节点 与 添加节点案例
  4. 有三个数a,b,c,要求按大小顺序输出。
  5. 台式计算机如何升级,台式电脑升级系统的方法
  6. 用Javascript实现面向对象编程(封装,抽象,继承,多态)
  7. C#中的 Stream
  8. CentOS6.2下安装中文输入法
  9. webpack系列之-原理篇
  10. 台式电脑怎么组装步骤_台式机组装教程,详细教您台式机怎么组装
  11. 你本是一个肉体,是什么驱使你前行【3】
  12. 小米8开机android正在启动不了,小米无法开机解决办法【图文教程】
  13. 激光清洗的优点和实际案例
  14. Mac连接Ubuntu服务器并用屏幕共享app显示远程应用图形界面
  15. scrapy模拟登陆强智教务系统
  16. 计算机网络世界(知识扫盲一)
  17. Android代码中实现WAP方式联网
  18. Ayo!Drop the beats!我说中秋快乐,你说……
  19. Isometric Tile
  20. prism EventAggregator(事件聚合器)

热门文章

  1. Exchange Sever 2003 之新旧用户交接邮箱
  2. 人工智能教育在经济社会起到的主导作用
  3. 作业活动-类和对象1一、定义个Person类,属性有身份证号码、姓名、性别、年龄、籍贯、住址,行为包括:
  4. 英语——'s和s'和s的区别
  5. 为什么cpu制程工艺非要追求7nm、5nm甚至2nm
  6. 【ROSGAZEBO】多旋翼无人机仿真(六)——SE(3)几何姿态控制器
  7. 第一章 程序设计与C语言
  8. Z05 - 044、Sqoop 导出 - 导出 HDFS 数据到 MySQL
  9. AT89C51SND2单片机解密与破解
  10. 总结mybatis plus解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)方法