什麼是水仙花數?水仙花數是指乙個 n 位正整數 ( n≥3 ),它的每個位上的數字的 n 次冪之和等於它本身。(例如:1^3 + 5^3+ 3^3 = 153)。
python練習題問題如下:
要求:列印輸出所有的"水仙花數"。
python解題思路分析:
可以利用for迴圈控制流語句來完成操作。從100-9999個數,每個數分解出個位、十位和百位。
方案一:
from numpy import *
for n in range(100,10000):
#將整形數轉換成字串
numberstr=str(n)
length=len(numberstr)
a=zeros(length)
#將字串中的每一位數取出,賦值給陣列
for i in range(length):
a[i]=int(numberstr[i])
#陣列a**value相當於對陣列中的每個數**value操作
if n==sum(a**length):
print (n)
153
370371
4071634
8208
9474
方案二:
from numpy import *
for n in range(100,10000):
#將整形數轉換成字串
numberstr=str(n)
length=len(numberstr)
if length==3:
#/100得到的結果為高位,%100得到的結果為低位
baiwei=int(n/100)
#此處加入int()函式,保證333/100=3而不是3.33
'''在python中33%10=3,333/100=3.33'''
shiwei=int(n/10)%10
gewei=n%10
if n == baiwei ** 3 + shiwei ** 3 + gewei ** 3:
print(n)
elif length==4:
qianwei=int(n/1000)
baiwei=int(n/100)%10
shiwei=int(n%100/10)
gewei=n%10
if n == qianwei ** 4+ baiwei ** 4 + shiwei ** 4+gewei**4:
print(n)
153
370371
4071634
8208
9474
Python基礎 day10 生成器
示例一 a x for x in range 30 這行 就是列表生成器,執行順序就是先執行後面的for迴圈,然後執行前面的x print a 執行結果 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27...
Python3生成密碼
使用python3實現簡單的密碼生成功能,隨機且隨意。這裡只是乙個簡單的例子,有必要的話可以深入研究一下。time 2019 9 12 18 24 author 統哥哥 file password generato.py software pycharm import string import r...
11 4 生成樹 基礎概念介紹
圖的基礎知識 設g是簡單圖。g的生成樹是包含g的每個頂點的g的子圖。比如對於下面的左圖,右圖就是其生成樹中的一種 所以也可以說 簡單圖是連通的,當且僅當它有生成樹。這個概念可以模擬到哈賽圖,或者關係中的傳遞性質。之前還有乙個廣度優先搜尋的內容,用來找最短路徑的。這裡深度優先搜尋則是在乙個簡單圖中構建...