Python解决抛小球问题 求小球下落经历的距离之和示例

yipeiwu_com7年前Python基础

本文实例讲述了Python解决抛小球问题 求小球下落经历的距离之和。分享给大家供大家参考,具体如下:

问题:

小东和三个朋友一起在楼上抛小球,他们站在楼房的不同层,假设小东站的楼层距离地面N米,球从他手里自由落下,每次落地后反跳回上次下落高度的一半,并以此类推知道全部落到地面不跳,求4个小球一共经过了多少米?(数字都为整数)

给定四个整数A,B,C,D,请返回所求结果

测试样例:
100,90,80,70
返回:1020

实现代码:

class Balls:
  def calcDistance(self, A, B, C, D):
    global res
    Balls.totalDistance(self, float(A + B + C + D), float(A + B + C + D))
    return res
  def totalDistance(self, total, statDis):
    global res
    statDis /= 2
    total += statDis*2
    if statDis <= 0.01:
      res = int(round(total))
      return 
    Balls.totalDistance(self, total, statDis)
balls = Balls()
global res
balls .calcDistance(100, 90, 80, 70)
print res

运行结果:1020

这一题主要考察浮点数运算以及输出四舍五入,根据给的输出样例来推断边界取值。(我就偏不说动态规划~)

PS:这里再为大家推荐几款计算工具供大家参考使用:

在线一元函数(方程)求解计算工具:
http://tools.jb51.net/jisuanqi/equ_jisuanqi

科学计算器在线使用_高级计算器在线计算:
http://tools.jb51.net/jisuanqi/jsqkexue

在线计算器_标准计算器:
http://tools.jb51.net/jisuanqi/jsq

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

Python Multiprocessing多进程 使用tqdm显示进度条的实现

Python Multiprocessing多进程 使用tqdm显示进度条的实现

1.背景 在python运行一些,计算复杂度比较高的函数时,服务器端单核CPU的情况比较耗时,因此需要多CPU使用多进程加快速度 2.函数要求 笔者使用的是:pathos.multipr...

基于Python实现一个简单的银行转账操作

基于Python实现一个简单的银行转账操作

前言 在进行一个应用系统的开发过程中,从上到下一般需要四个构件:客户端-业务逻辑层-数据访问层-数据库,其中数据访问层是一个底层、核心的技术。而且在实际开发中,数据库的操作也就是说数据访...

深入浅析Python中list的复制及深拷贝与浅拷贝

深入浅析Python中list的复制及深拷贝与浅拷贝

在Python中,经常要对一个list进行复制。对于复制,自然的就有深拷贝与浅拷贝问题。深拷贝与浅拷贝的区别在于,当从原本的list复制出新的list之后,修改其中的任意一个是否会对另一...

python+opencv实现高斯平滑滤波

python+opencv实现高斯平滑滤波

功能: 创建两个滑动条来分别控制高斯核的size和σσ的大小,这个程序是在阈值分割的那个程序上改动的。阈值分割程序在这 注意:由于σ=0σ=0时,opencv会根据窗口大小计算出σσ...

djano一对一、多对多、分页实例代码

昨日内容: ORM高级查询 -filter id=3 id__gt=3 id__lt=3 id__lte=3 id__gte=3 -in /not in .filter(id__i...