weixin_50966102 2022-09-18 10:52 采纳率: 50%
浏览 115
已结题

python寻找走马灯数

没有学过python,想请教下有没有人知道这段代码的意思啊?最好每句都能讲讲

好像是一个寻找走马灯数的代码。


for i in range(123456, 987655):
    if len(set(str(i))) < 6:
        continue
    for j in range(1, 7):
        if set(str(i)) - set(str(i * j)):
            break
    else:
        print(i)
  • 写回答

2条回答 默认 最新

  • 请叫我问哥 Python领域新星创作者 2022-09-18 11:10
    关注
    for i in range(123456, 987655): # 从123456检查到987654,因为这是最小和最大的每位数字都不同的六位数
        if len(set(str(i))) < 6: # 如果中间某六位数中包含了重复数字,比如123466,则跳过(set用于去重)
            continue # 跳过当前数字
        for j in range(1, 7): # 用该数字分别乘以1到6
            if set(str(i)) - set(str(i * j)): # 如果乘的结果包含了与原六位数不同的数字,则跳出
                break # 跳出,继续检查下一个六位数
        else:
            print(i) # 如果乘以1到6的结果包含的数字都与原六位数相同,则打印在控制台
    

    只有一个数字符合条件:142857

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月26日
  • 已采纳回答 9月18日
  • 创建了问题 9月18日

悬赏问题

  • ¥15 Llama如何调用shell或者Python
  • ¥20 谁能帮我挨个解读这个php语言编的代码什么意思?
  • ¥15 win10权限管理,限制普通用户使用删除功能
  • ¥15 minnio内存占用过大,内存没被回收(Windows环境)
  • ¥65 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi