没有bug队——加贝——Python 练习实例 13,14
生活随笔
收集整理的這篇文章主要介紹了
没有bug队——加贝——Python 练习实例 13,14
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天水一天,看了看這兩道題,感覺沒啥好注意的了,或許是我歸被窩的心似箭吧,哈哈哈哈,如果我想起了有補充的,我再出被窩。。。
13.題目:
打印出所有的"水仙花數",所謂"水仙花數"是指一個三位數,其各位數字立方和等于該數本身。例如:153是一個"水仙花數",因為153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循環控制100-999個數,每個數分解出個位,十位,百位。
for n in range(100,1000):i = n // 100 #取個位j = n // 10 % 10 #取十位k = n % 10 #取百位if n == i*i*i + j*j*j + k*k*k: print(n)輸出:
?
14.題目:
將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5。
程序分析:對n進行分解質因數,應先找到一個最小的質數k,然后按下述步驟完成:
(1)如果這個質數恰等于n,則說明分解質因數的過程已經結束,打印出即可。
(2)如果n<>k,但n能被k整除,則應打印出k的值,并用n除以k的商,作為新的正整數你n,重復執行第一步。
(3)如果n不能被k整除,則用k+1作為k的值,重復執行第一步。
代碼
def reduceNum(n):print ('{} = '.format(n), end=" ")if not isinstance(n, int) or n <= 0 :print ('請輸入一個正確的數字 !')exit(0)elif n in [1] :print ('{}'.format(n))while n not in [1] : # 循環保證遞歸for index in range(2, n + 1) :if n % index == 0:n //= index # n 等于 n//indexif n == 1: print (index )else : # index 一定是素數print ('{} *'.format(index), end=" ")break reduceNum(90) reduceNum(100)輸出:
總結
以上是生活随笔為你收集整理的没有bug队——加贝——Python 练习实例 13,14的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql数据库连接异常,mysql连接
- 下一篇: ios android 字体颜色,iOS