Python基礎語法 迴圈(四)

2021-07-27 07:14:33 字數 1472 閱讀 8855

前言

這是這一階段對迴圈語法練習的乙個實踐練習分享及總結

題目
找出乙個整數的所有最小因子,即所有因子均為素數因子,例如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 ...