(北京理工嵩天)Python学习 第七周

本周开始学习程序设计方法,从程序方法的角度解读计算思维 (更像工作方法 没有记很多)

自顶向下设计

即将大问题分解成一个个的小问题最后再汇总。

自顶向上的设计

从底层模块一个一个测试
小规模程序直接运行
中等规模程序从底层开始逐步上升,运行基本函数,测试整体函数
较大规模程序将使用高级软件测试方法

敏捷开发

当前最流行开发方法
以人为核心,迭代,循序渐进
将大项目分解成多个相互联系,但又相互独立运行的小项目
软件一直处于开始用状态

敏捷开发典型过程

一、产品形成共识
二、建立和维护产品需求列表进行优先级排序
三、筛选需求进入本轮迭代开发
四、细化需求,完成本轮开发
五、每日站立会议
六、现场验收和反馈
七、从第三步开始进行下一轮迭代

面向过程的程序设计

也叫结构化编程
举例:铅球飞行轨迹IPO模式
输入:投射角度、初始速度(m/s)、初始高度(m)
处理:模拟铅球飞行
输出:飞行距离(m)

相关参数:

仿真参数:投掷角度angle、初始速度velocity、初始高度height、飞行距离interval
位置参数:X轴坐标xpos、Y轴坐标ypos
速度分量:X轴方向上速度xvel、Y轴方向上速度yvel

程序

from math import pi,sin,cos,radians

def main():
    # 输入仿真参数
    angle = eval(input("Enter the launch angle (in degrees):"))
    vel = eval(input("Enter the initial velocity (in meters):"))
    h0 = eval(input("Enter the initial height (in meters):"))
    time = eval(input("Enter the time interval:"))

    xpos = 0
    ypos = h0
    
    # 通过radians函数将度转换为弧度
    theta = radians(angle)
    # 计算初始速度
    xvel = vel*cos(theta)
    yvel = vel*sin(theta)
    
    # 程序主体循环
    while ypos >= 0:  # 当y小于0意味着落地
        xps = xpos + time * xvel   # x位置
        yvell = yvel - time*9.8    # y位置受重力加速度影响的速度
        ypos = ypos +time * (yvel + yvell)/2.0  # y位置
        yvel = yvell
    print("\ndistance traveled:(0:0.1f)meters.".format(xpos))
    
main()


>>> 
==================== RESTART: E:/Python/代码目录/铅球飞行轨迹程序.py ====================
Enter the launch angle (in degrees):60
Enter the initial velocity (in meters):100
Enter the initial height (in meters):100
Enter the time interval:1

distance traveled:(0:0.1f)meters.  # 结果永远是这个为什么啊
>>> 

面向对象的程序设计

包含两种特征:状态和行为
类的定义
_init_构造函数:初始化对象
_del_析构函数:销毁对象

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值