题目:

(1)创建一个函数,接受一个参数n(n>=100),判断这个数是否为水仙花数,结果返回True或者False。

水仙花数:满足如果这个数为m位数,则每个位上的数字的m次幂之和等于它本身

(2)创建一个函数,接受一个参数max(max>=1000),调用上题编写的判断函数,求100到max之间的水仙花数

IDE:

Thonny

(1)

过程:

① 接受参数n:n=input(‘请输入一个大于100的参数n:’)

此处需注意:input()的返回值是字符串格式

② 要判断n是否为水仙花数——>要得到每个位上的数字

思路1:除法,如153/100=1,(153-100)/10=5,(153-150)/1=3,太麻烦

思路2:尝试通过切片操作得到每位数

③ 用if语句判断是否相等

代码:

n=input('请输入一个大于100的参数n:')

m=len(n)

i=0

s=0

while i

s=s+int(n[i:i+1:1])**m

i=i+1

if int(n)<100:

print('请确认n是否大于100')

else:

if s==int(n):

print('True')

else:

print('False')

运行结果:

遇到的问题:

while拼写错误,运行代码一直显示符号不正确

int和str的区分,input返回n为字符串形式(后对字符串进行切片,切片后得到的也是str)

len()不能用于int型

m**n运算(求乘方)用于int型,切片后的str要变为int型再进行乘方

进行n和100的对比时,也要化为int型

len()是内置函数,返回对象的长度(元素个数)。实参可以是序列(如 string、bytes、tuple、list 或 range 等)或集合(如 dictionary、set 或 frozen set 等)。

(2)

过程

对(1)中的代码进行小修改

① 记住原代码中n是str型,而range() 函数创建的是整数列表,添加n=str(n),把range()生成的int转换为str

② print改为return,print只能打印,无法传递函数值

range()函数可创建一个整数列表,一般用在 for 循环中。

利用迭代循环for来对(100,max)间的整数进行水仙花数判定

创建一个空列表alist,如果是水仙花数,就用append操作把k加到列表中,迭代循环完毕后,else print最后统一打印

和(1)中同理,input返回值max是str型,放到range()中要转变为int型

代码

def wflower(n):

# n=input('请输入一个大于100的参数n:')

n=str(n)

m=len(n)

i=0

s=0

while i

s=s+int(n[i:i+1:1])**m

i=i+1

if int(n)<100:

print('请确认n是否大于100')

else:

if s==int(n):

return('True')

else:

return('False')

max=input('请输入参数max(max>=1000):')

alist=[]

for k in range(100,int(max)):

re=wflower(k)

if re=='True':

alist.append(k)

k=k+1

else:

print('100到max之间的水仙花数有:',alist)

python判断水仙花数函数_Python(6):上机练习——函数练习之水仙花数相关推荐

  1. python日期函数_python 时间及日期函数

    本人最近新学python ,用到关于时间和日期的函数,经过一番研究,从网上查找资料,经过测试,总结了一下相关的方法. import time import datetime '''时间转化为时间戳: ...

  2. python拷贝文件函数_Python Set集合,函数,深入拷贝,浅入拷贝,文件处理

    1.Set基本数据类型 a.set集合,是一个无序且不重复的元素集合 classset(object):"""set() -> new empty set obje ...

  3. python os函数_python os模块主要函数

    使用python提供的os模块,对文件和目录进行操作,重命名文件,添加,删除,复制目录以及文件等. 一.文件目录常用函数 在进行文件和目录操作时,一般会用到以下几种操作. 1.获得当前:路径 在pyt ...

  4. load()是python文件操作的函数_python基础总结(函数,文件操作)

    divmod(a, b)#分别取商和余数 float([x])#将一个字符串或数转换为浮点数.如果无参数将返回0.0 int([x[, base]])#将一个字符转换为int类型,base表示进制 l ...

  5. python 文件函数_python文件操作及函数学习

    文件操作 文件读 f = open('a.txt', encoding='utf-8', mode='r')  #只读方式打开文件 data = f.read()  #read函数读取所有文件内容,光 ...

  6. python语言中有哪些函数_Python语言中的函数

    本文主要向大家介绍了Python语言中的函数,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. 学了 Python 中的数据类型,语句,接下来就来说一下 Python 中的函数,函数 ...

  7. python判断是否为数字符_Python判断字符串是否为数字

    Python判断一个字符串是否为数字,可以分为两种情况考虑. 字符为纯数字 如果需要检测的数字为纯数字,不包括负号,小数点等,可以使用字符串的isdigit()函数来判断 >>> a ...

  8. python数字类型转换函数_Python的数据类型转换函数

    玩蛇网这篇文章给大家介绍关于,Python数据类型的转换函数. Python提供了一些可以把某个值从一种数据类型,转换成为另一种数据类型的内置函数和方法.int函数可以将任何可以转换为整型的值转换为整 ...

  9. python全局变量赋值报错_python全局变量、回调函数

    1.python全局变量相关概念及使用 来自菜鸟教程上的例子: http://www.runoob.com/python3/python3-function.html 一.python入参需要注意地方 ...

  10. python hist函数_Python主要数据探索函数

    Python中用于数据探索的库主要是pandas(数据分析)和 Matplotlib(数据可视化),其中pandas提供了大量的与数据库探索相关的函数,这些数据探索函数壳大致分为统计特征函数与统计绘图 ...

最新文章

  1. 为什么说python是世界上最好的语言-Python才是世界上最好的语言
  2. python可以自学吗-python自学行吗
  3. 微软Office Online服务安装部署及wopi代码实现--------域控制服务器安装
  4. 计算机jsp外文文献,计算机JSPweb外文翻译外文文献英文文献-20210615222802.docx-原创力文档...
  5. PHP面试题:windows平台, Apache Http Server启动失败, 排错思路是什么?
  6. 数据库中敏感字段的标记、标示
  7. 【Java】基数排序
  8. Android--使用Camera拍照
  9. 星环分析型数据库Inceptor中database link的使用总结
  10. 爱尚QQ网修改QQ在线机型源码
  11. 在HTML文字标签i什么效果,html的i标签有什么作用
  12. 数据库锁 与 事务隔离级别
  13. 软工作业04四则运算网页版
  14. A/BTest 基础
  15. Android 属性动画使用(二)
  16. jQuery mouseover与mouseenter,mouseout与mouseleave的区别
  17. Excel 经纬度互相转换
  18. 大数据与云计算——牛客网大数据面试问题总结
  19. MySQL的文本导入之load data local
  20. 【Python爬虫】下载b站视频。超详细。

热门文章

  1. linux平台 wifi 7601 porting
  2. 数据分析案例1.0——药品销售分析
  3. 测试管理工具-禅道---软件缺陷和软件缺陷种类
  4. 【Excel VBA】Len的有趣之处——获取的长度怎么不一致?
  5. arcmap中将一个面图层中的多个面分割成独立的面
  6. 曾国藩读书的十二条规矩
  7. 七夕撒狗粮,结婚五周年,mysql学习教程
  8. C语言中输出两个数中的较大值(2021.11.12)
  9. “重塑安全边界,揭秘零信任业务保障”,联软科技下一代零信任访问管理系统发布
  10. 康复期需注意什么?一组手账告诉你