当前位置: 首页 > news >正文

帝国cms手机网站制作中信建设有限责任公司 人力资源部

帝国cms手机网站制作,中信建设有限责任公司 人力资源部,东城区网站排名seo,深圳市住建局和建设局官网4. python练习题4-水仙花数 【目录】 文章目录 4. python练习题4-水仙花数1. 目标任务2. 水仙花数的特点3. 如何判断一个数是否是水仙花数?4. 打印3位水仙花数5. 判断一个数是不是水仙花数6. 列表推导式6. 列表推导式判断一个数是不是水仙花数 【正文】 1. 目标任务…

4. python练习题4-水仙花数

【目录】

文章目录

  • 4. python练习题4-水仙花数
    • 1. 目标任务
    • 2. 水仙花数的特点
    • 3. 如何判断一个数是否是水仙花数?
    • 4. 打印3位水仙花数
    • 5. 判断一个数是不是水仙花数
    • 6. 列表推导式
    • 6. 列表推导式判断一个数是不是水仙花数

【正文】

1. 目标任务

水仙花数是三位数,其各位数字立方和等于该数本身,请打印所有水仙花数。

2. 水仙花数的特点

水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。

【三位水仙花数的特点】

  • 一个三位数,范围从100到999。
  • 各个位上的数字的立方和等于该数本身。

【示例】

153是一个水仙花数。
因为1^3 + 5^3 + 3^3 = 153。

3. 如何判断一个数是否是水仙花数?

  • 将给定的数拆分为各个位上的数字。
  • 计算每个位上数字的n次幂。
  • 将每个位上数字的n次幂相加。
  • 判断相加的结果是否等于原始数。

4. 打印3位水仙花数

【代码示例】

# 使用range函数生成一个从100到999的整数序列
# 并将每个数字赋值给变量num
# range函数含前不含后,因此不包含1000
for num in range(100, 1000):# 通过整除运算符//将num除以100得到的商即为百位数字。hundreds = num // 100# 先将num除以10得到商,再对10取余得到十位数字tens = (num // 10) % 10# 通过对10取余运算得到个位数字ones = num % 10# 将百位、十位和个位数字的立方和与num进行比较# 如果相等,则说明该数是水仙花数if num == hundreds**3 + tens**3 + ones**3:print('%d是水仙花数。'% num)        

【终端输出】

153是水仙花数。
370是水仙花数。
371是水仙花数。
407是水仙花数。

5. 判断一个数是不是水仙花数

# def 语句定义一个名为sxh的函数
# 该函数接收一个参数num
# 自定义函数以英文冒号结尾
def sxh(num):# str函数将数字(num)转换为字符串类型,以便逐位处理    num_str = str(num)# 使用len()函数获取字符串num_str的长度,并赋值给变量nn = len(num_str)# 初始化变量sum为0,用于存储各个位上数字的n次方之和    sum = 0# 遍历字符串num_str中的每个字符,将每个字符赋值给变量ifor i in num_str:# 将变量i转换为整数类型,并计算其n次方,然后加到变量sum上# 备注:sum = sum +int(digit) ** nsum += int(i) ** n# 判断变量sum是否等于参数numif sum == num:# 如果条件成立,返回Truereturn Trueelse:# 如果条件不成立,返回Falsereturn False# 测试示例
num = 153
# 调用函数sxh()判断给定的数字是否为水仙花数
if sxh(num):# 如果是水仙花数,则打印出该数字是水仙花数print('%d是水仙花数。'% num)  
else:# 如果不是水仙花数,则打印出该数字不是水仙花数print('%d不是水仙花数。'% num)  

【终端输出】

153是水仙花数。

6. 列表推导式

【语法】

[表达式 for 迭代变量 in 可迭代对象 if条件表达式]

【代码示例】

list4 = [ i for i in range(1,6)]
print(list4)

【终端输出】

[1, 2, 3, 4, 5]

list4 = [i for i in range(1, 6)] 是一个列表推导式。
作用是创建一个包含从1到5的整数的列表。
具体来说,它使用了一个for循环来遍历1到5 。
并将每个遍历到的元素添加到列表中。
最终,list4 的值为 [1, 2, 3, 4, 5]。

【代码示例】

list5 = [ i**2 for i in range(1,6)]
print(list5)

【终端输出】

[1, 4, 9, 16, 25]

计算输出0~5序列的所有数的平方。

【代码示例】

# 定义字符串变量num_str,其值为'123'
num_str = '123'
# len函数计算字符串num_str的长度
# 此时n的值为3,因为字符串num_str包含3个字符
n = len(num_str)
# 使用列表推导式来计算每个字符的立方和
# 表达式为:int(i) ** n
# int(i)将每个字符转换为整数类型,然后求它的n次方
# for 循环遍历num_str,num_str是字符串类型
# 因此i也是字符串类型,用int 转换为整数才能参与计算
# n=3,1的立方是1,2的立方是8,3的立方是27
# sum()函数将所有立方值相加,并将结果赋值给变量s。
s = sum(int(i) ** n for i in num_str)
print(s)

【终端输出】

36

列表推导式可参考如下链接:

90. Python列表推导式

6. 列表推导式判断一个数是不是水仙花数

# def 语句定义一个名为sxh的函数
# 该函数接受一个参数num
# 自定义函数以英文冒号结尾
def sxh(num):# str函数将数字(num)转换为字符串类型,以便逐位处理num_str = str(num)# len函数获取数字的位数n = len(num_str)# 列表推导式计算每个位上数字的n次幂之和sum_of_powers = sum(int(digit) ** n for digit in num_str)# 判断结果是否等于原始数if sum_of_powers == num:return Trueelse:return False# 测试示例
num = 153
# 调用函数sxh()判断给定的数字是否为水仙花数
if sxh(num):# 如果是水仙花数,则打印出该数字是水仙花数print('%d是水仙花数。'% num)  
else:# 如果不是水仙花数,则打印出该数字不是水仙花数print('%d不是水仙花数。'% num)  

【终端输出】

153是水仙花数。
http://www.laogonggong.com/news/102051.html

相关文章:

  • 手机网站平台优化人员配置
  • wordpress修改网站菜单位置可使用虚拟主机
  • 小型IT网站开发公司永春县建设局网站
  • 白人与黑人做爰网站介绍公司的简介范文
  • dede网站百度统计怎么做网站建设的相关书籍
  • 网站管家装修公司需要多少钱
  • 网站建设方案ppt下载湖南网站设计制作
  • 如何与知名网站做友情链接大名做网站
  • 邯郸网站建设开发公司南宁比优建站
  • 网站布局优化策略网站开发费走什么科目
  • 提供营销型网站设计成都抖音推广公司
  • 做柜子喜欢上哪些网站看商业网站创建教程
  • 外贸 模板网站 定制网站微舍 微网站 怎么做
  • 什么网站可以做软件有哪些东西广东线上营销推广方案
  • 做网站项目前怎么收集需求幸运28网站开发
  • 网站流量盈利模式中国flash网站模板中心
  • 深圳网站定制公司做网站域名需哪些
  • 深圳手机商城网站设计费用网站备案年限查询
  • 网站加载特效代码apache重定向wordpress
  • 做淘宝客没网站怎么做长沙网站 建设推广世云网络
  • 做百度手机网站排名深圳龙华属于哪个区
  • 一个人能建设一个公司网站吗怎么做关于易烊千玺的网站
  • 营销型网站的推广软件app制作
  • 骨科医院网站优化服务商做网站开票内容是什么
  • 优化网站性能邢台网站设计怎么做
  • php 免费装修网站网站ftp管理工具
  • 网站首页网址中国建设工程造价网
  • 单位的网站的建设方案建立网站平台需要那些技术
  • 龙胜网站建设公司网站开发验收模板
  • 长沙微商城网站建设怎么黑网站