鱼C论坛

 找回密码
 立即注册
查看: 7649|回复: 105

[已解决]Python:每日一题 354

[复制链接]
发表于 2020-3-17 22:02:12 | 显示全部楼层
本帖最后由 sYMMetrY 于 2020-3-17 22:34 编辑
  1. def q354(left, right):
  2.     DivSelf = []   
  3.     for each in range(left, right+1):
  4.         if '0' not in str(each):
  5.             setDS = set(str(each))            
  6.             count = 1
  7.             for key in setDS:
  8.                count *= int(key)
  9.             if each%count == 0:
  10.                 DivSelf.append(each)
  11.     return DivSelf
复制代码
  1. 我把学习的六楼的‘:=’  借过来用用 哈哈
  2. left = 323055
  3. right = 41520421
  4.         
  5.    
  6. def q354(left, right):
  7.     DivSelf = []   
  8.     for each in range(left, right+1):
  9.         if '0' not in (string := str(each)):                        
  10.             count = 1
  11.             for key in (setDS := set(string)):
  12.                count *= int(key)
  13.             if each%count == 0:
  14.                 DivSelf.append(each)
  15.     return DivSelf
  16.                
  17.                
  18. print(q354(left, right))
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
zltzlt + 3 + 3

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-17 22:31:35 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-3-17 14:38
两个版本,加了注释

方法一:方法二:

海象运算符是个好东西,受教啦~~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-18 00:08:11 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-3-17 22:42
你创建了setDS变量,然后就一次也没用过,给你改了改

干得漂亮
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-21 12:11:43 | 显示全部楼层
zltzlt 发表于 2020-3-19 17:44
解答错误

输入:left = 47, right = 85
  1. left = 47
  2. right = 85        

  3. def q354(left, right):
  4.     DivSelf = []   
  5.     for each in range(left, right+1):
  6.         if '0' not in (string := str(each)):
  7.             count = 0
  8.             for key in (num := set(string)):           #之前的判定条件为:将存在于该数(A)中的不相同元素相乘所得(B)相除(A%B)余数为0就可判定是不能满足的,比如48
  9.                 if each%(int(key)) == 0:#将判定条件改为:若每个元素都可以被A整除 那么一定为自除数,但是计算迭代次数增加(最多计算9次)
  10.                     count += 1
  11.             if count == len(num):
  12.                 DivSelf.append(each)
  13.             count = 0
  14.     return DivSelf
复制代码


小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-29 06:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表