python2.7练习小例子(十九)
19):题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
#!/usr/bin/python
# -*- coding: UTF-8 -*- tour = []
height = [] hei = 100.0 # 起始高度
tim = 10 # 次数 for i in range(1, tim + 1):
# 从第二次开始,落地时的距离应该是反弹高度乘以2(弹到最高点再落下)
if i == 1:
tour.append(hei)
else:
tour.append(2*hei)
hei /= 2
height.append(hei) print('总高度:tour = {0}'.format(sum(tour)))
print('第10次反弹高度:height = {0}'.format(height[-1]))
以上实例输出结果为:
总高度:tour = 299.609375
第10次反弹高度:height = 0.09765625
Python3 参考方案:
#!/usr/bin/python3 hei = 100 # 总高度
tim = 10 # 次数
height = [] # 每次反弹高度
for i in range(2,tim+1): # 计算第二次落地到第十次落地
hei /= 2
height.append(hei)
print('第10次落地时,反弹%s高'%(min(height)/2)) # 第十次反弹为第十次落地距离的一半
print('第10次落地时,经过%s米'% (sum(height)*2+100)) # 总和加上第一次的 100
输出结果为:
第10次落地时,反弹0.09765625高
第10次落地时,经过299.609375米
Python3 参考方案:
#!/usr/bin/python3 l=[]
r=10
t=100 # 第一次落地经过距离
sum=0
while r>1: # 计算第二次落地到第十次落地每次的高度
t=t/2
r=r-1
l.append(t)
for k in range(0,9): # 列表只有 9 条数据
if k==8:
print(l[k]/2) # 第10次反弹高度
sum+=l[k]
sum=sum*2
sum=sum+100
print(sum)
Python3 测试实例:
#!/usr/bin/env python3
# -*- coding: utf-8 -*- sum = 0
total = 0
for i in range(1, 10):
sum = (100 * 2) / (2 ** i)
total += sum
result = 100 + total
tenth = 100 / (2 ** 10)
print('第10次反弹高度: {}'.format(tenth))
print('第10次反弹后,一共经历的距离: {}'.format(result))
#!/usr/bin/python
# -*- coding: UTF-8 -*- m=100
n=input("请输入反弹次数:")
total=[]
l=[]
for i in range(1,n+1):
if i==1:
total.append(m)
else:
total.append(2*m)
m=0.5*m
l.append(m)
print l
print total
print "第%d次反弹的高度是:%f"%(n,l[n-1])
print "第%d次落地共经过%f米"%(n,sum(total))
Python3 参考方法:
#!/usr/bin/env python3 long = 100
sum = 100
for i in range(2, 11):
sum = sum + long
long = long / 2
print("第%d次,经过%f米,反弹高度为%f" % (i, sum, long/2))
#!/usr/bin/python
# -*- coding: UTF-8 -*- # h 为初始高度,k 为每次弹起的高度比例,如本题弹起一半即为 0.5,n 为反弹次数
def Sumh(h,k,n):
L = []
for i in range(1,n+1):
h *= k
totalh = h * 3
L.append(totalh)
print h
print sum(L) - h # 第 10 次落地高度,要去除最后一次反弹
Sumh(100,0.5,10)
Python3 参考方法:使用递归生成每一次反弹的高度,其中参数为第几次反弹,如n=1时,第一次反弹高度为height(1)=50:
#!/usr/bin/python3 def height(n):
if n==0 :
return 100
else:
return height(n-1)/2 sum=0
count=10
for i in range(0,count):
if i==0:
sum=sum+height(i)
else:
sum=sum+2*height(i)
#print(height(i)) print(sum)
print(height(10))
a = 100.00
b=0.0
print a/(2**10)
for i in range(0,10):
b,a = b+2*a, a/2
print b -100
Python3 测试实例:
h=100
t=10
height=[100]
for i in range(t):
height.append(h)
h=h/2
print(height)
print('总高度:',sum(height[:10]),'第10次反弹高度 height[10]:',height[10]/2)
from __future__ import division height = 100
n = 10
tour = 0
psum = pow(2,10)
bnce10 = 100/psum
print bnce10
for i in range(1,10):
#print tour
tour += 2*(100/pow(2,i))
tour = height + tour
print "tour=%f"%tour
兼容 Python3.x 与 Python2.x:
#!/usr/bin/python
# -*- coding: UTF-8 -*- import math # 设落地n次 n = int(input("请输入反弹次数:"))
height = 100
print("第 {} 次落地共: {:<8}米".format(n,height*(3-math.pow(2,-(n-2)))))
print("第 {} 次 反 弹: {:<8}米".format(n,height*math.pow(2, -(n))))
这个物理不好的,估计得费点脑子了。如果感觉不错的话,请多多点赞支持哦。。。
原文链接:https://blog.csdn.net/luyaran/article/details/80063256
python2.7练习小例子(十九)的更多相关文章
- python2.7练习小例子(九)
9)1.题目:暂停一秒输出. 程序分析:使用 time 模块的 sleep() 函数. 程序源代码: #!/usr/bin/python # -*- coding: UTF-8 ...
- python2.7练习小例子(二十九)
29):1.题目:按相反的顺序输出列表的值. #!/usr/bin/python # -*- coding: UTF-8 -*- a = ['one', 'two', 'three'] for ...
- python2.7练习小例子(十二)
12):题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数" ...
- python2.7练习小例子(十)
10):古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析:兔子的规律为数列1,1 ...
- python2.7练习小例子(二十八)
28):题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母. 程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母. ...
- python2.7练习小例子(二十四)
24):1.题目:利用递归方法求5!. 程序分析:递归公式:fn=fn_1*4! #!/usr/bin/python # -*- coding: UTF-8 -*- def fact( ...
- python2.7练习小例子(十八)
19):题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. #!/usr/bin/python # -*- ...
- python2.7练习小例子(十六)
16):题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. 程序分析:利用 while 或 for 语句,条件为输入的字符不为 '\n'. 程序源代码: #!/u ...
- python2.7练习小例子(十五)
15):题目:输出指定格式的日期. 程序分析:使用 datetime 模块. 程序源代码: #!/usr/bin/python # -*- coding: UTF-8 -*- ...
- python2.7练习小例子(八)
8):题目:输出 9*9 乘法口诀表. 程序分析:分行与列考虑,共9行9列,i控制行,j控制列. 程序源代码: #!/usr/bin/python # -*- coding: ...
随机推荐
- matlab解方程
[x1,y1,x2,y2]=solve('x1^2 + y1^2=1','x2^2-8*x2 +y2^2 +15=0','x1*x2 + y1 * y2=1','x1 + x2 =a','x1','y ...
- 我是一只IT小小鸟读后感 Part 1
我是一只IT小小鸟读后感 Part 1 梦断计院 作为一个工科生,真的和作者想到一块去了.在科大这个环境下,GPA成了衡量一个学生优秀与否的唯一因素,而真正对于编程和技术性的东西有兴趣的,往往被埋没在 ...
- Vim中 ctags 跳转直接跳到第一个匹配行的问题
意图 用ctags搜索代码时, 用 ctrl + ] 后,只有一个匹配项直接跳转,有多个则列出所有匹配项选择跳转 问题 在 vim 中使用 ctags 是一个很令人舒服的事情,但有时一些默认的配置和不 ...
- 清除IE地址栏中的历史网址
实现效果: 知识运用: RegistryKey类的GetValueNames和DeleteValue方法 实现代码: private void button1_Click(object sender, ...
- 【luogu P2936 [USACO09JAN]全流Total Flow】 题解
题目链接:https://www.luogu.org/problemnew/show/P2936 菜 #include <queue> #include <cstdio> #i ...
- 【luogu P3371 单源最短路】 模板 vector+SPFA
stl真是好,,偷懒少写邻接表,, 两个STL应用使代码简短了很多.然而还是那句话,天上不会掉馅饼,程序的效率还是有所下降的.然而,效率不是全部,人们宁可牺牲三倍效率用Java而不用C语言就是最好的例 ...
- 【题解】洛谷P2341 [HAOI2006]受欢迎的牛(强连通分量)
洛谷P2341:https://www.luogu.org/problemnew/show/P2341 前言 这题看错题目 足足花了将近5小时提交了15次 在一位dalao的提醒下才AC了 记得要看清 ...
- 使用带有对象的data-ng-bind
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- js标准对象
在JavaScript的世界里,一切都是对象. 但是某些对象还是和其他对象不太一样.为了区分对象的类型,我们用typeof操作符获取对象的类型,它总是返回一个字符串: typeof 123; //'n ...
- 课时90.div和span(掌握)
为什么在这里讲解div和span呢,而不在html中讲解呢? 因为在我们的开发中div和span一般是配合css来使用的,来完成一定的效果,来设置一些属性,在前面我们没有学习css,所以体会不到它的效 ...