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

  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 记作:
Python复习第8课(2_34_0514_Python)
Python复习第8课(2_34_0514_Python)
Python复习第8课(2_34_0514_Python)
Python复习第8课(2_34_0514_Python)
Python复习第8课(2_34_0514_Python)

Python复习第8课(2_34_0514_Python)
Python复习第8课(2_34_0514_Python)

Python复习第8课(2_34_0514_Python)

Python复习第8课(2_34_0514_Python)

Python复习第8课(2_34_0514_Python)

Python复习第8课(2_34_0514_Python)

Python复习第8课(2_34_0514_Python)
小结
定义函数时,需要确定函数名和参数个数
如果有必要,可以先对参数的数据类型做检查;
函数体内部可以用 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复习第8课(2_34_0514_Python)

相关文章:

  • 2021-06-05
  • 2021-11-16
  • 2021-07-21
  • 2021-12-22
  • 2022-01-14
  • 2021-08-28
  • 2021-11-20
  • 2021-09-11
猜你喜欢
  • 2021-05-20
  • 2021-05-06
  • 2021-04-10
  • 2021-05-14
  • 2022-01-01
  • 2021-05-11
  • 2021-04-10
相关资源
相似解决方案