第三章: 需求分析
需求分析任务: ???
- 功能分析
- 性能分析
EG: 相应时间、主存容量、磁盘容量、安全性、等 - 可靠性和可用性
- 出错处理需求
系统发现错误时采取的行动,主要在系统关键部分设置 - 接口需求
用户接口、硬件接口、软件接口、通信接口等 - 约束
精度、工具和语言、设计约束、硬件约束、标准等 - 逆向需求
- 将来可能提出的要求
实体联系图
状态转换图
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
print("-----猜数字游戏-------")
import random # 导入随机数模块
random = random.randint(1, 100) # 生成1到100之间的随机数
print(“random:”,random)
while True:
num = int (input(“请输入1-100之间的任意一个数:”))
if num >random:
print(“大了,请重新输入”)
elif num <random and num !=-1:
print(“小了,请重新输入”)
elif num == -1:
print(“游戏结束”)
break
else:
print(“猜对了”)
break
print(‘请输入当天行走的步数!’)
step = input() # 获取控制台输入的步数
#计算卡路里,由于行走速度不同计算卡路里的消耗也不同,此处计算结果仅为测试。
calorie = int(step)*28 # 一步为28卡路里计算
print(‘今天共消耗卡路里:’,calorie,"(即" ,calorie/1000,“千卡)”) #打印消耗的卡路里
-
x = input(“请输入”)
info = input() # 获取输入内容
if info == ‘1’:
print(‘当前余额为:999元’)
elif info == ‘2’:
print(‘当前剩余流量为:5G’)
elif info == ‘3’:
print(‘当前剩余通话为:189分钟’)
elif info == ‘0’:
print(‘退出自助查询系统!’)
break
else:
print(“请输入1-3”)
break
print(’----10086查询功能----’, ‘\n输入1,显示你当前的余额’
‘\n输入2,显示您当前余额的流量’
‘\n输入3,显示你当前剩余的通话’
‘\n输入0,退出自助查询系统’)
dic = {“生活缴费”:“120g”,“行走捐”:“200g”,“共享单车”:“150g”,“线下支付”:“180g”,“网络购票”:“235g”}
x = input(“查询能量请输入能量来源!退出程序请输入0\n能量来源如下:\n生活缴费、行走捐、共享单车、线下支付、网络购票\n”)
while x != ‘0’:
print(dic[x])
x = input(“查询能量请输入能量来源!退出程序请输入0\n能量来源如下:\n生活缴费、行走捐、共享单车、线下支付、网络购票\n”)
if x == ‘0’:
print(“已退出!”)
x = int(input(“输入整数”))
y = 8
if x > y:
print(x)
else:
print(y)
def compare(x):
if x >= 0:
return x
else:
return - x
def check():
…
#坦克 英雄列表
Tanks =[‘苏烈’,‘刘邦’,‘钟馗’,‘张飞’,‘牛魔’,‘程咬金’,‘白起’,‘刘禅’,‘庄周’,‘项羽’,‘廉颇’,‘巨灵神’,‘安禄山’,‘猪八戒’]
#战士 英雄列表
warriors=[‘狂铁’,‘裴擒虎’,‘铠’,‘孙悟空’,‘哪吒’,‘杨戬’,‘橘右京’,‘亚瑟’,‘雅典娜’,‘夏侯惇’,‘关羽’,‘吕布’,‘韩信’,‘老夫子’,‘达摩’,‘典韦’,‘曹操’,‘钟无艳’,‘墨子’,‘赵云’,‘刑天’,‘龙且’]
#刺客 英雄列表
Assassins=[‘百里玄策’,‘庞统’,‘花木兰’,‘阿轲(荆轲)’,‘不知火舞’,‘李白’,‘娜可露露’,‘兰陵王’,‘露娜’,‘韩信’,‘宫本武藏’,‘盖聂’,‘红拂’]
#法师 英雄列表
Masters =[‘杨玉环’,‘弈星’,‘女娲’,‘周瑜’,‘鬼谷子’,‘芈月’,‘干将莫邪’,‘东皇太一’,‘大乔’,‘诸葛亮’,‘貂蝉’,‘张良’,‘安琪拉’,‘不知火舞’,‘姜子牙’,‘武则天’,‘王昭君’,‘甄姬’,‘扁鹊’,‘高渐离’,‘嬴政’,‘妲己’,‘小乔’]
#射手 英雄列表
Shooters=[‘公孙离’,‘百里守约’,‘后羿’,‘刘备’,‘黄忠’,‘马可波罗’,‘成吉思汗’,‘虞姬’,‘李元芳’,‘艾琳’,‘狄仁杰’,‘鲁班七号’,‘孙尚香’]
#辅助 英雄列表
auxiliarys=[‘明世隐’,‘梦奇’,‘孙膑’,‘太乙真人’,‘蔡文姬’]
#输出提示文字
def show(list):
for i in list:
print (i,end=’ ‘)
print(’“王者荣耀”游戏角色:’)
print(’\n坦克:’)
show (Tanks)
print(’\n战士:’)
show (warriors)
print(’\n刺客:’)
show(Assassins)
print(’\n法师:’)
show (Masters)
print(’\n射手:’)
show (Shooters)
print(’\n辅助:’)
show (auxiliarys)