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('')