Python练习—循环

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

 

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

 

2、折纸上月球
大家都看过科幻片《火星救援The Martian》吧,电影里航天员们在太空中碰到各种情况都是靠计算机模拟、计算来解决问题的。
我们在地球上也可以靠高大上的Python语言来解决问题。现在问题来了:我们都知道,月亮在一个椭圆形的轨道上绕地球公转,
因此两者的距离是不断变化的,它们的最小距离是363300公里。现在我们都想去月球旅游(地球玩腻了,想换个口味),
但是坐火箭上天一次就带辣么几个人,我们等不及。好消息,好消息,厂家现在开发出逆天神技——折纸上月球!
只需一张很大的A4纸,厚度为0.088毫米,折一次就0.176毫米,折两次就0.352毫米……多折几次就很高了。
穿上冲锋衣,拿上登山杖,带上自拍杆,我们爬着就可以上月球发朋友圈了。我就想问一句:要上月球,我们到底需要折多少次?

 

1 count = 0
2 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 = a
3 count = 0
4 for i in range(0,n):
5     count = count+sum
6     sum = sum*10+a
7 print(count)    

 

 

 

4、篮球弹跳高度的计算
书呆子就是书呆子,打个篮球脑子也不闲着。这种人说好听的叫‘geek’,说不好听的就是叫‘nerd’。
这不,书呆子看着篮球在想:如果篮球从某一高度落下,每次落地后反弹回原来高度的一半再落下。
那么球在第10次落地时,共经过多少米呢? 第10次反弹多高? (你问我这个题是不是瞎编的?当然是了,你什么时候见过书呆子打篮球?)
输入:输入一个整数h,单位是米,表示球的初始高度。
输出:输出包含两行:
第1行:到球第10次落地时,一共经过的距离。
第2行:第10次弹跳的高度。
例如输入:20 对应输出:第一行:59.921875 第二行:0.01953125

 

1 #篮球问题
2 h = eval(input("请输入初始球的高度"))
3 sum = h
4 a =0
5 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 = 0
3 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=0
4 for i in range(1,6):
5         sum=i*sum
6         count=count+sum
7 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('')  

 

posted @ 2018-04-22 10:30  王陸  阅读(5857)  评论(2编辑  收藏  举报