python 水仙花_python 水仙花
#簡單
def narcissus():
for n in range(100, 1000, 1):
a, b, c = n//100, (n//10)%10, (n%100)%10
if a ** 3 + b ** 3 + c ** 3 == n:
print(n)
#使用yield寫法
def narcissus_yield():
m, n = 100, 999
while m <= n:
a, b, c = m // 100, (m // 10) % 10, (m % 100) % 10
if a ** 3 + b ** 3 + c ** 3 == m:
yield m
m = m + 1
#包含水仙花等。。。
def narcissus_all(min, max):
if type(min) != int or type(max) != int:
msg = "參數類型必須為int"
raise TypeError(msg)
if min is None or max is None:
msg = "參數值不能為None!!!"
raise ValueError(msg)
if max == 0 or max < min:
msg = "max不能為0或者max必須比min值大"
raise ValueError(msg)
length = len(str(max))
while min <= max:
temp_val, sum = min, 0
for n in range(length):
sum += (temp_val%10) ** length
temp_val //= 10
if min == sum:
yield min
min = min + 1
for n in narcissus_all(100000, 999999):
print(n)
總結
以上是生活随笔為你收集整理的python 水仙花_python 水仙花的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nginx location 匹配 多个
- 下一篇: 管理系统中计算机应用 重点章节,11年《