【Python基础】1.3.1 面向过程编程与面向对象编程(类)实例
2017-11-19 21:34
781 查看
语言:Python
IDE:Python.IDE
问题描述
铅球飞行问题:给定不同投掷角度与初始速度下,求解计算铅球的飞行距离
IPO描述
I:输入:铅球发射角度、初始速度与高度
P:模拟飞行,时刻更新铅球飞行位置
O:铅球飞行距离
面向过程编程
面向对象编程(类)
IDE:Python.IDE
问题描述
铅球飞行问题:给定不同投掷角度与初始速度下,求解计算铅球的飞行距离
IPO描述
I:输入:铅球发射角度、初始速度与高度
P:模拟飞行,时刻更新铅球飞行位置
O:铅球飞行距离
面向过程编程
from math import pi,sin,cos,radians def main() angle=eval(input("Enter the launch angle:")) vel=eval(input("Enter the initial velocity:")) h0=eval(input("Enter the initial height:")) time=eval(input("Enter the time interval:")) #计算初始速度 xpos=0 ypos=h0 theta=radians(angle) xvel=vel*cos(theta) yvel=vel*sin(theta) # 程序主循环 while ypos>=0: xpos=xpos+time*xvel yvell=yvel-time*9.8 ypos=ypos+time*(yvel+yvell)/2.0 yvel=yvell print("\nDistance".format(xpos)) //format格式化字符串
面向对象编程(类)
from math import pi,sin,cos,radians class Projectile: def _init_(self,angle,valocity,height): #建立一个投射体对象 self.xpos=0 self.ypos=h0 theta=radians(angle) self.xvel=vel*cos(theta) self.yvel=vel*sin(theta) def update(self,time): #更新投射体状态 xpos=xpos+time*xvel yvell=yvel-time*9.8 ypos=ypos+time*(yvel+yvell)/2.0 yvel=yvell def getY(self): #返回投射体角度 return self.ypos def getX(self): #返回投射体距离 return self.xpos from projectile import * def getInputs(): a=eval(input("Enter the launch angle:")) v=eval(input("Enter the initial velocity:")) h=eval(input("Enter the initial height:")) t=eval(input("Enter the time interval:")) return a,v,h,t def main(): angle,vel,h0,time=getInputs() shot=Projectile(angle,vel,h0) while shot.getY()>=0: shot.update(time) print("\nDistance".format(shot.getX())) if _main_=="_main_": main()
相关文章推荐
- python基础---面向过程编程
- python基础之生成器表达式形式、面向过程编程、内置函数部分
- 初学Python的学习笔记9----面向对象编程(获取对象信息、实例属性和类属性)、面向对象高级编程(使用__slots__、使用@property)
- Python开发基础-Day10生成器表达式形式、面向过程编程、内置函数部分
- python基础----迭代器、生成器、协程函数及应用(面向过程实例)
- Python基础-面向过程编程实现Linux下cat -rl ‘dir’ |grep ‘keywords’ 功能
- Python基础-面向对象和面向过程编程区别
- Python基础-面向过程编程实现Linux下cat -rl ‘dir’ |grep ‘keywords’ 功能
- OOP(面向对象编程) 和 OPP(面向过程编程) 的异同点及系统总结
- Python3 基础:面向对象高级编程(上)
- python-迭代器、生成器、内置函数及面向过程编程
- python:面向过程和面向对象编程思想
- 面向过程编程VS面向对象编程
- Python面向过程和面向对象基础
- 模块化编程 自顶向下编程 自底向上编程 结构化编程 面向对象编程 面向过程编程
- Python 正则表达式---概念基础,匹配过程,表达式元字符和语法以及实例
- Java第二课 Java面向对象编程,面向对象编程和面向过程编程的区别,我们如何才能掌握面向对象的编程,类和对象的关系;讲解了Java中的构造、重载、this和super变量、静态变量、Java中的常
- Python基础之六面向对象高级编程
- python基础-面向对像、类名\实例调用、__init__函数、类名\实例增删改查属性
- JAVA面向过程编程、面向对象编程和面向切面编程理解