iT邦幫忙

2021 iThome 鐵人賽

DAY 16
0
自我挑戰組

Python淺顯易懂的小教室系列 第 16

[Day_16]迴圈與生成式 - (2)

  • 分享至 

  • xImage
  •  

迴圈結構 - 使用while

while迴圈結構與for迴圈結構十分類似,while迴圈結構常用於不固定次數的迴圈,由迴圈中測試條件成立與否,決定是否跳出迴圈,測試條件為真時繼續迴圈,當測試條件為假時結束迴圈。while指令後面所接測試條件,若為真時會不斷做迴圈內動作,直到測試條件的結果為假時跳出while迴圈。

那這邊讓我們來看幾題例題:

階乘計算

請計算N為多少時,其階乘值大於等於M。N階乘表示N!,其值為「123....*(N-1)*N」,使用while迴圈計算,N!超過M的最小N值為何?

HINT:可以使用迴圈結構撰寫程式,迴圈變數i起始值為1,進入迴圈之前,測試迴圈變數i的階乘值是否小於M,
迴圈每執行一次迴圈變數i就會遞增1,迴圈內計算迴圈變數i的階乘值,最後顯示「多少階乘會大於等於M」。

#output
請輸入M? 1100
7 階乘為 5040 大於 1100

#input
M = int(input('請輸入M? '))
n = 1
i = 1
while (n<M):
    i = i+1
    n = n*i
print(i,'階乘為',n,'大於',M)

質數判斷

某數的因數只有1與自己,沒有其他因數,稱為質數。程式中要判斷一個數字是否是質數,就要判斷他的因數是否只有1與自己。

#output
請輸入一個整數? 47
47 是質數

#input
num = int(input('請輸入一個整數? '))
j = 2
prime = True
while j<num:
    if(num%j==0):
        prime = False
        break
    j+=1
if prime:
    print(num,'是質數')
else :
    print(num,'不是質數')

以上這兩題是while的一些應用,
大家可以多加練習喔,
一起加油吧!!
/images/emoticon/emoticon07.gif


上一篇
[Day_15]迴圈與生成式
下一篇
[Day_17]迴圈與生成式 - (3)
系列文
Python淺顯易懂的小教室30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言