python自编一个循环计算题_Python练习—循环

1、输入n的值,求出n的阶乘。

1 s=1

2 n = int(input("请输入一个数"))3 for i in range(1,n+1):4 s=s*i5 print(s)

2、折纸上月球

大家都看过科幻片《火星救援The Martian》吧,电影里航天员们在太空中碰到各种情况都是靠计算机模拟、计算来解决问题的。

我们在地球上也可以靠高大上的Python语言来解决问题。现在问题来了:我们都知道,月亮在一个椭圆形的轨道上绕地球公转,

因此两者的距离是不断变化的,它们的最小距离是363300公里。现在我们都想去月球旅游(地球玩腻了,想换个口味),

但是坐火箭上天一次就带辣么几个人,我们等不及。好消息,好消息,厂家现在开发出逆天神技——折纸上月球!

只需一张很大的A4纸,厚度为0.088毫米,折一次就0.176毫米,折两次就0.352毫米……多折几次就很高了。

穿上冲锋衣,拿上登山杖,带上自拍杆,我们爬着就可以上月球发朋友圈了。我就想问一句:要上月球,我们到底需要折多少次?

1 count =02 n = 0.088

3 while 1:4 if(n>=363300*1000*1000):5 break

6 n=n*2

7 count=count+1

8 print(count)

3、求和 求s= a + aa + aaa + … + aa…a 的值(最后一个数中 a 的个数为 n ),其中 a 是一个1~9的数字,例如: 2 + 22 + 222 + 2222 + 22222 (此时 a=2 n=5 )

输入:一行,包括两个整数,第1个为a,第2个为n(1 ≤ a ≤ 9,1 ≤ n ≤ 9),以英文逗号分隔。

输出:一行,s的值。

输入例子:2,5 对应输出:24690

1 a,n = eval(input("请输入两个整数,用逗号分隔"))2 sum =a3 count =04 for i inrange(0,n):5 count = count+sum6 sum = sum*10+a7 print(count)

4、篮球弹跳高度的计算

书呆子就是书呆子,打个篮球脑子也不闲着。这种人说好听的叫‘geek’,说不好听的就是叫‘nerd’。

这不,书呆子看着篮球在想:如果篮球从某一高度落下,每次落地后反弹回原来高度的一半再落下。

那么球在第10次落地时,共经过多少米呢? 第10次反弹多高? (你问我这个题是不是瞎编的?当然是了,你什么时候见过书呆子打篮球?)

输入:输入一个整数h,单位是米,表示球的初始高度。

输出:输出包含两行:

第1行:到球第10次落地时,一共经过的距离。

第2行:第10次弹跳的高度。

例如输入:20 对应输出:第一行:59.921875 第二行:0.01953125

1 #篮球问题

2 h = eval(input("请输入初始球的高度"))3 sum =h4 a =05 for i in range(0,9):6 h=h/2

7 sum=sum+h*2

8 print(sum,h/2)

5、我国现有13亿人口,设每年增长0.8%,编写程序,计算多少年后达到26亿?

1 num = 13

2 count =03 while 1:4 if num>=26:5 break

6 num=num*(1+0.008)7 count=count+1

8 print(count)

6、在屏幕上输出小九九乘法表(三角形式)。

for i in range(1,10):for j in range(1,i+1):print(i,"*",j,"=",i*j,"\t",end=' ')else:print("")

7、求1!+2!+3!+4!+5!的和。

1 #阶乘之和

2 sum=1

3 count=04 for i in range(1,6):5 sum=i*sum6 count=count+sum7 print(count)8

8、星号三角形:读入一个整数N,N是奇数,输出由星号字符组成的等边三角形,要求:第1行1个星号,第2行3个星号,第3行5个星号,依次类推,最后一行共N的星号。

输入:3

输出:

*

***

1 n= int(input('输入行数:'))2 for i in range(0,n+1):3 for j in range(0,n-i):4 print(end=' ')5 for k in range(n-i,n):6 print('*',end=' ')7 print('')

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值