当前位置:主页 > python教程 > python实现水仙花数

python实现水仙花数实例讲解

发布:2022-06-26 08:06:24 59


给寻找编程代码教程的朋友们精选了python相关的编程文章,网友蔚君浩根据主题投稿了本篇教程内容,涉及到python实现水仙花数、python实现超完全数字不变数、python实现水仙花数相关内容,已被177网友关注,相关难点技巧可以阅读下方的电子资料。

python实现水仙花数

 1、什么是水仙花数?

水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)

详见:水仙花数-百度百科

2、实现:

def number_daffodils(m=100, n=1000):
 if type(m) is int and type(n) is int and 100 <= m < n <= 1000:
  daffodils = []
  for num in range(m, n):
   a = [int(s) for s in str(num)]
   """
   计算个、十、百位数
   x = int(num/100) # 百位数
   y = int(num/10) % 10 # 十位数
   z = num % 10 # 个位数
   将整数按位拆分
   a = list(str(num))
   a = list(map(eval, str(num)))
   """
   if num == a[0] ** 3 + a[1] ** 3 + a[2] ** 3:
    daffodils.append(num)
  if len(daffodils) == 0:
   print("No number of daffodils")
  else:
   print(" ".join(str(i) for i in daffodils))
 elif type(m) is not int or type(n) is not int:
  raise Exception('参数类型错误')
 else:
  raise Exception('参数超出范围')
number_daffodils()

3、懒人法:列表推导式

a = [i * 100 + j * 10 + k for i in range(1, 10) for j in range(0, 10) for k in range(0, 10) if i * 100 + j * 10 + k == i ** 3 + j ** 3 + k ** 3]
print(a)

到此这篇关于python实现水仙花数实例讲解的文章就介绍到这了,更多相关python实现水仙花数内容请搜索码农之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持码农之家!


参考资料

相关文章

  • Python 稀疏矩阵中sparse存储和转换实例讲解

    发布:2021-04-27

    这篇文章主要介绍了Python 稀疏矩阵-sparse 存储和转换的相关资料,需要的朋友可以参考下


  • 在Shell脚本中检查Python版本的方法

    发布:2019-10-19

    Python是由Guido van Rossum创建的高级通用编程语言。它于1991年首次发行。通常,基于Linux的发行版已经预装了Python版本。 本教程将帮助您在脚本中找到Python版本的详细信息。此外,还可以确保Pyt


  • 实例详解Python实现排列组合、破解密码算法

    发布:2020-01-09

    这篇文章主要介绍了Python实现的排列组合、破解密码算法,结合实例形式分析了Python排列组合、密码破解相关数学运算操作技巧,需要的朋友可以参考下


  • python直接访问私有属性的简单教程

    发布:2022-06-21

    为网友们分享了关于python的教程,下面小编就为大家带来一篇python直接访问私有属性的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧


  • python内置map和six.moves.map的区别点整理

    发布:2020-02-13

    今天小编就为大家分享一篇对python内置map和six.moves.map的区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


  • python实现连连看辅助(图像识别)

    发布:2022-04-05

    这篇文章主要为大家详细介绍了python实现连连看辅助程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下


  • 掌握python求相邻数的方法

    发布:2020-03-16

    相邻数是数学名词,意思是在从小到大依次排列的自然数中,一个数前面和后面相互邻近的两个数就是该数的相邻数。下面这篇文章主要给大家介绍了利用python求相邻数的方法示例,需要的朋友


  • python写一个简单的词法分析器实例代码

    发布:2019-06-24

    这篇文章主要介绍了如何用python写一个简单的词法分析器,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧


  • int在python中的含义和用法

    发布:2019-09-16

    int在python里是一个类,它是不可变数据类型中的一种,它的一些性质和字符串是一样的,是整型。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。


网友讨论