题目来源:Python语言程序设计(中国大学MOOC)

授课老师:嵩天、黄天羽、礼欣

题目描述:

“3位水仙花数”是指一个三位整数,其各位数字的3次方和等于该数本身。例如:ABC是一个”3位水仙花数”,则:A的3次方+B的3次方+C的3次方 = ABC。

请按照从小到大的顺序输出所有的3位水仙花数,请用”逗号”分隔输出结果。

代码:

output = []

for d in range(100,1000):

x = d//100

y = (d%100)//10

z = d%10

s = x**3 + y**3 + z**3

if s == d:

output.append(d)

#以下为输出格式调整

for i in range(len(output)):

if i < len(output)-1:

print(output[i], end=',')

else:

print(output[i])

输出结果:

153,370,371,407

自幂数

以下内容来自百度百科:自幂数

自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。(例如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数。)

n为1时,自幂数称为独身数。显然,0,1,2,3,4,5,6,7,8,9都是自幂数;

n为2时,没有自幂数;

n为3时,自幂数称为水仙花数,有4个:153,370,371,407;

n为4时,自幂数称为四叶玫瑰数,共有3个:1634,8208,9474;

n为5时,自幂数称为五角星数,共有3个:54748,92727,93084;

n为6时,自幂数称为六合数,只有1个:548834;

n为7时,自幂数称为北斗七星数,共有4个:1741725,4210818,9800817,9926315;

n为8时,自幂数称为八仙数,共有3个:24678050,24678051,88593477;

n为9时,自幂数称为九九重阳数,共有4个:146511208,472335975,534494836,912985153;

n为10时,自幂数称为十全十美数,只有1个:4679307774。

要求:给定n,计算所有n位数的自幂数

代码一:

n = eval(input()) #n为获取用户输入的整数位数,当n=3时即为计算水仙花数

output = []

for d in range(pow(10,n-1), pow(10,n)):

s = 0

digits = []

for x in range(n):

if x == 0:

digit = d//pow(10,n-1-x)

else:

digit = (d%pow(10,n-x))//pow(10,n-1-x)

digits.append(digit)

for digit in digits:

s += pow(digit, n)

if s == d:

output.append(d)

#print(output)

for i in range(len(output)):

if i < len(output)-1:

print(output[i], end=',')

else:

print(output[i])

代码二:

n = eval(input()) #n为正整数位数

output = []

for d in range(pow(10,n-1), pow(10,n)):

s = 0

digits = []

for x in range(n):

digit = d//pow(10,x)%10

digits.append(digit)

for digit in digits:

s += pow(digit, n)

if s == d:

output.append(d)

print(output)

代码三:

n = eval(input()) #n为正整数位数

output = []

for d in range(pow(10,n-1), pow(10,n)):

s = 0

for digit in str(d):

s += pow(int(digit), n)

if s == d:

output.append(d)

print(output)

更新:

要求:给定任意两个自然数,输出这两个自然数(包含)之间的所有自幂数

a, b = eval(input())

output = []

max = max(a, b)

min = min(a, b)

for d in range(min, max+1):

s = 0

temp = d

l = len(str(d)) #l为当前自然数的位数

while temp:

s = s + (temp%10)**l

temp = temp//10

if s == d:

output.append(d)

print(output)

水仙花数python代码输入一个介于3到5的正整数_Python练习题——自幂数(水仙花数)...相关推荐

  1. 在python中输入10个整数并求出最大值_python练习题 :用户任意输入10个整数到列表中,然后由大到小排列并输出。...

    一:填空题: 1.python是一种面向_对象 __的高级语言. 2.python可以在多种平台运行,这体现了python的___可移植___特性. 3.python源代码被解释器转换后的格式为___ ...

  2. 三位水仙花数python代码

    三位水仙花数python代码 #水仙花数:其各位数字立方和等于该数本身. print("水仙花数有:") for i in range(100,1000):bw=i//100sw= ...

  3. python9行代码_如何用9行Python代码编写一个简易神经网络

    原标题:如何用9行Python代码编写一个简易神经网络 Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 学习人工智能时,我给自己定了一个目标--用Pyth ...

  4. python ray定时_使用 Ray 用 15 行 Python 代码实现一个参数服务器

    使用 Ray 用 15 行 Python 代码实现一个参数服务器 参数服务器是很多机器学习应用的核心部分.其核心作用是存放机器学习模型的参数(如,神经网络的权重)和提供服务将参数传给客户端(客户端通常 ...

  5. python自动化--如何用10行Python代码调一个闹钟 #电脑调闹钟

    python自动化--如何用10行Python代码写一个闹钟 前言: 文末彩蛋--轻松一刻 更多关于Python的知识请加关注哟~~.若需联系博主请私信或者加博主联系方式:       QQ:1542 ...

  6. python如何输入一个矩阵_python怎么输入矩阵

    python怎么输入一个数组矩阵 下面是基于python3.4的 这样子: 1 2 3 4 import numpy as np arr = [1,2,3,4,5,6,7,8,9] matrix_a ...

  7. 用Python代码画一个足球(附完整代码)

    用Python代码画一个足球(附完整代码) C站举办了世界杯征文活动,本文用Python代码画一个足球. 实现方法介绍 本文的绘图工具使用Python的标准库turtle库,无需安装,导入即可使用. ...

  8. python月亮_如何用python代码画一个月亮

    如何用python代码画一个月亮 发布时间:2020-06-17 15:52:21 来源:亿速云 阅读:181 作者:元一 Python简介 Python是一种跨平台的计算机程序设计语言. 是一个高层 ...

  9. C语言:输入一个不多于5位的正整数,要求1:求出它是几位数; 要求2:分别打印出每一位数; 要求3:按逆序打印出各位数字;

    /*输入一个不多于5位的正整数,要求1:求出它是几位数; 要求2:分别打印出每一位数; 要求3:按逆序打印出各位数字;*/#include <stdio.h> #include <m ...

最新文章

  1. JSP第二次作业_7小题
  2. R语言基础篇——数据对象
  3. Java:从Java 8开始受益于内联类属性
  4. Mybatis解析mapper
  5. UI设计实用素材|2020动画将占据中心舞台
  6. ZooKeeper之ZkClient使用示例
  7. Corona Enterprise 引入第三方 jar 包
  8. python 安装虚拟环境
  9. Mac大小写切换需长按caps lock键解决办法
  10. 【Ubuntu】Ubuntu18.04无法识别移动硬盘、U盘解决方法
  11. 直播绿幕抠图的例子(绿幕抠图直播实例参考)
  12. 16. 二元随机变量,离散型随机变量分布律
  13. layer-list的作用和使用方法
  14. 腾讯全球数字生态大会--散记
  15. 有奖答题小程序知识问答pk答题app源码
  16. 经济学方面的电子书挺多
  17. git 和 linux、_linux和git拔掉
  18. 详谈短信开发-SMPP的WAP短信协议展开格式
  19. 《计算机科学》投稿心得
  20. arcgis像元大小和分辨率_ArcGIS教程:栅格像元大小和重采样

热门文章

  1. 北斗b2频点频率_北斗系统中“三”的奥秘
  2. [Windows编程] 如何判断操作系统是64位还是32位
  3. ()IT 职场经验)一位10年Java工作经验的架构师的经验分享,感觉很受用。
  4. VMware 虚拟机克隆 CentOS 6.5 之后,网络配置问题的解决方案
  5. 东部分布式光伏迎来发展高潮
  6. 《C程序设计新思维》一6.3 不使用malloc的指针
  7. 《Django实战系列》
  8. 值转换成布尔类型的False;
  9. 哈希码以及Object.toString()简单理解
  10. LeetCode 145 二叉树的后序遍历(非递归)