前言
這是這一階段對迴圈語法練習的乙個實踐練習分享及總結題目
找出乙個整數的所有最小因子,即所有因子均為素數因子,例如8的所有因子即為2,2,2。思路解析:在程式設計前先進行梳理整個解題過程,首先是需要找到整數的因子,同時對因子進行素數的判斷並將非素數因子進行分解,同時需要注意因子是成對出現的,而分解之後的素數因子是不變的。
下面是博主編寫的原始碼:
#!/usr/local/bin/python
# encoding: utf-8
'''test -- 軟體流程開發學習 -- 顯示乙個整數的所有因子的素數因子(即將所有因子分解到最小因子)
@author: eric
@contact: [email protected]
@note: 關鍵思想是素因子可以構成所有的因子,所以不用遍歷所選整數的所有因子
'''def
division_factor
(num):
factor = 2
while factor <= num/2:
if num % factor == 0:
judge = prime(factor)
if judge == 1:
print(factor,"\t",end="")
factor = int(num / factor)
judge = prime(factor)
if judge == 1:
print(factor,"\t",end="")
else:
division_factor(factor)
break
#只要找到乙個因子便不用再繼續迴圈factor了
else:
factor += 1
defprime
(factor):
k = 2
isprime = true
while k <= factor/2:
if factor % k == 0:
isprime = false
break
k += 1
if isprime:
return
1else:
return
0if __name__ == "__main__":
num = eval(input("請輸入乙個整數:"))
division_factor(num)
小結:迴圈部分的學習到此告乙個階段,關鍵對迴圈的使用是如何判斷合適需要,這樣使用迴圈才能達到最佳的效果,而在今天這篇博文的練習過程中我便陷入了對多對因子的分解,這導致結果會有重複,在重新理清思緒之後才實現最終效果,雖然原始碼不像之前的練習的**那樣少,但是解題的思路很清晰,可以作為參考。
Python語法基礎(四)
捕獲異常 a 10 try a 0 except print error 迭代器 迭代器,往前訪問元素 list 1,2,3,4 it iter list for x in it print x,end while true try print next it except break 生成器 普通...
python 基礎語法(分支 迴圈)
python為動態 強型別語言,不用事先宣告型別,可以隨時賦值為其他型別 分支結構 根據不同情況進行判斷,條件滿足執行某條件下的語句。if condition block 判斷結果即condition必須為bool型別 如果1小於2則進行輸出if1 2 print 1 less than 2 輸出 ...
python基礎(四) python語法細節
本節簡單說下python語法中的一些小注意點,比較雜碎的知識點,需要在學習中熟練使用。python中的字串用單引號或者雙引號包圍,如 這是乙個字串 a python b python 這兩種形式都是可以的,即python中單引號和雙引號使用完全相同。2 2 4 50 5 6 20 50 5 6 4 ...