python编写函数输出自除数_728. 自除数(Python)
题目
难度:★☆☆☆☆
类型:数学
自除数 是指可以被它包含的每一位数除尽的数。
例如,128 是一个自除数,因为 128 % 1 == 0,128 % 2 == 0,128 % 8 == 0。
还有,自除数不允许包含 0 。
给定上边界和下边界数字,输出一个列表,列表的元素是边界(含边界)内所有的自除数。
注意
每个输入参数的边界满足 1 <= left <= right <= 10000。
示例
输入:
上边界left = 1, 下边界right = 22
输出: [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 15, 22]
解答
这道题的思路很简单,我们可以构建一个判定一个数是否为自除数的函数,然后从范围中筛选出自除数即可。
转成字符串方式:
class Solution:
def selfDividingNumbers(self, left, right):
is_div_num = lambda n: not any([n % int(b) if b != '0' else 1 for b in list(str(n))])
return [n for n in range(left, right+1) if is_div_num(n)]
为了提高运行效率,我们通过除法运算判定自除数的存在:
class Solution:
def selfDividingNumbers(self, left: int, right: int):
def is_div_num(num):
val = num
while num % 10 != 0 and val > 0: #
tmp = val % 10 # 取出来最小位
if tmp == 0 or num % tmp != 0: # 如果当前位为零或者不能被原数整除
return False # 返回False
else: # 否则
val //= 10 # 去除val最后一位
if val == 0: # 如果所有位都经过判定
return True # 返回True
res = []
for num in range(left, right+1):
if is_div_num(num):
res.append(num)
return res
如有疑问或建议,欢迎评论区留言~
python编写函数输出自除数_728. 自除数(Python)相关推荐
- 用python中函数输出杨辉三角_用Python输出一个杨辉三角的例子
这篇文章主要介绍了用Python和erlang输出一个杨辉三角的例子,同时还提供了一个erlang版杨辉三角,需要的朋友可以参考下 关于杨辉三角是什么东西,右转维基百科:杨辉三角 稍微看一下直观一点的 ...
- python编写函数_如何用Python编写自己喜欢的R函数
python编写函数 数据科学和机器学习的伟大现代斗争之一是" Python vs. R". 毫无疑问,近年来两者都已经取得了巨大的发展,成为数据科学,预测分析和机器学习的顶级编程 ...
- python编写函数 avg(lst),参数 lst 是一个列表。函数可以返回 lst 的整数平均值,调用 avg(lst) 函数求每个学生的平均成绩。
python编写函数 avg(lst),参数 lst 是一个列表.函数可以返回 lst 的整数平均值,调用 avg(lst) 函数求每个学生的平均成绩. 已知成绩列表 s={'小李':[77,54], ...
- python中tracer函数意思_浅析Python编写函数装饰器
本节主要介绍编写函数装饰器的相关内容. 跟踪调用 如下代码定义并应用一个函数装饰器,来统计对装饰的函数的调用次数,并且针对每一次调用打印跟踪信息. 这是一个通过类装饰的语法写成的装饰器,测试如下: 运 ...
- python concat函数 多张表_最全Python数据工具箱:标准库、第三方库和外部工具都在这里了 - Mr_YJY...
导读:Python数据工具箱涵盖从数据源到数据可视化的完整流程中涉及到的常用库.函数和外部工具.其中既有Python内置函数和标准库,又有第三方库和工具.这些库可用于文件读写.网络抓取和解析.数据连接 ...
- Python 字符串常见的语句,和练习题,字符串练习题 Python 切片函数修饰符 #精度和进制Python 字符串一些语句练课件练习题
字符串练习题 Python 切片 函数修饰符 #精度和进制 Python 字符串一些语句练 课件练习题 4,.by 字符串的替换 方法 描述 replac ...
- python编写函数_浅谈Python 函数式编程
匿名函数lambda表达式 什么是匿名函数? 匿名函数,顾名思义就是没有名字的函数,在程序中不用使用 def 进行定义,可以直接使用 lambda 关键字编写简单的代码逻辑.lambda 本质上是一个 ...
- python编写函数showmsg(n、name)_Python语言答案
[简答题]使用列表生成式生成列表,其元素为100以内所有能被3整除的数. [简答题]编写函数area(r),该函数可以根据半径r求出圆的面积.调用area(r)函数,求半径分别为3.5,2.9的圆的面 ...
- python编写函数、给定任意字符串_编写函数,给定任意字符串,找出其中只出现一次的字符,如果有多个这样的字符,就全部找出。...
[简答题]编写程序,实现分段函数计算,如下表所示. x y x<0 0 0<=x<5 x 5<=x<10 3x-5 10<=x<20 0.5x-2 20< ...
- python编写函数showmsg(n、name)_python学习-函数
一.文件处理 python的内置函数open提供了对文件的处理功能.open函数会调用os的系统接口,得到一个类文件对象f,此f对象将作为对文件操作的标识符.从行为动作划分,文件处理分为读取和写入.从 ...
最新文章
- arcpy实现空间查询_布隆过滤!Python实现亿级数据集中元素快速查找
- Java开发最常犯的10个错误,打死都不要犯!
- HDU 3695 Computer Virus on Planet Pandora (AC自己主动机)
- java输出的文本内容不对_java 字符串写入文件后再读出不一样? 有什么解决办法吗?...
- 利用c语言面向对象编程,用C语言程序实现面向对象编程
- 退出android app时界面残留影响,【Android】App 或 Activity 销毁重建的状态恢复对回调带来的影响...
- [Visual Studio] VS2012调试时很慢的解决方案
- 解决 VMware 新装 CentOS 7.* 连不上网络
- 通过Kettle工具解析Json接口数据并且保存到数据库中的详细操作
- 软件测试之-集成测试
- 等高线节点过密如何处理?CASS10.1复合线滤波功能详解
- 分享一个全站繁体转换
- Vi文本编辑器的使用方法
- 63 Three.js 将多个网格合并成一个网格
- Javascript监听回车键和取消回车键提交
- 最适合freshman的Java习题集(一)
- neo4j ogm Class com is not a valid entity class. Please check the entity mapping问题
- 2018六校联合周赛上学期第一场-我来爆零啦 寻找中位数 kth
- 10月英语,美好的开始
- 目标检测之五:随机权值平均(Stochastic Weight Averaging,SWA)---木有看懂