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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM