Python遍历1到100时,怎么跳过个位是7或本身能被7整除的数?

要实现在Python中依次输出1到100的整数,但当数字的个位是7或是7的倍数时跳过不输出,核心在于遍历1到100的数字,并对每个数字应用两个条件判断[ref_1][ref_2][ref_3]。 ### 问题解构与方案推演 1. **核心任务**:遍历数字1到100,并输出符合条件的数字。 2. **筛选条件**: * **条件一**:数字不是7的倍数。判断方法:`数字 % 7 != 0`[ref_2][ref_3]。 * **条件二**:数字的个位不是7。判断方法:`数字 % 10 != 7`[ref_1]。 3. **逻辑关系**:需要同时满足上述两个条件才输出数字。即,当数字**不是7的倍数** **并且** **个位不是7** 时,才输出。 4. **实现结构**:使用 `for` 循环遍历 `range(1, 101)`,在循环体内使用 `if` 语句进行条件判断。 ### 具体实现代码 以下是几种不同的实现方式,均能完成题目要求。 #### 方法一:使用 `for` 循环和 `if` 判断(最直接) 这是最基础、最直观的实现方法。 ```python # 遍历1到100的数字 for num in range(1, 101): # 判断条件:数字不是7的倍数 且 数字的个位不是7 if num % 7 != 0 and num % 10 != 7: print(num, end=' ') # 使用 end=' ' 让数字在同一行用空格分隔输出 ``` **代码解释**: * `range(1, 101)` 生成从1到100(包含100)的整数序列[ref_4]。 * `num % 7 != 0` 检查数字除以7的余数是否不为0,即判断数字**不是7的倍数**[ref_2][ref_3]。 * `num % 10 != 7` 检查数字除以10的余数是否为7,即判断数字**个位不是7**[ref_1]。 * `and` 运算符确保两个条件必须同时满足。 * `print(num, end=' ')` 输出满足条件的数字,并用空格分隔,避免每个数字占一行。 #### 方法二:使用列表推导式(更Pythonic) 列表推导式可以更简洁地生成符合条件的数字列表,然后统一输出[ref_3]。 ```python # 使用列表推导式生成满足条件的数字列表 result = [num for num in range(1, 101) if num % 7 != 0 and num % 10 != 7] # 输出结果 for num in result: print(num, end=' ') ``` **代码解释**: * `[num for num in range(1, 101) if num % 7 != 0 and num % 10 != 7]` 这行代码一次性完成了遍历、筛选和列表构建。 * 后续的 `for` 循环仅用于输出列表内容。 #### 方法三:使用 `continue` 跳过不满足条件的数字 这种方法在循环中遇到不符合条件的数字时,使用 `continue` 语句跳过当前迭代,直接进入下一次循环[ref_5]。 ```python for num in range(1, 101): # 如果数字是7的倍数 或 个位是7,则跳过本次循环,不执行后续的print语句 if num % 7 == 0 or num % 10 == 7: continue print(num, end=' ') ``` **代码解释**: * `if num % 7 == 0 or num % 10 == 7:` 判断数字是否**是7的倍数** **或** **个位是7**。这是对原条件的逻辑取反。 * `continue` 语句会立即结束当前循环的本次迭代,跳转到循环的开头(`for num in range(1, 101)`)进行下一次迭代[ref_5]。 * 只有不满足上述“跳过”条件的数字,才会执行到 `print` 语句。 ### 运行结果与验证 无论使用以上哪种方法,程序的输出结果都是一致的。输出的是1到100之间,所有**既不是7的倍数,个位也不是7**的整数。为了清晰展示,以下是部分输出片段(完整序列较长): ``` 1 2 3 4 5 6 8 9 10 11 12 13 15 16 18 19 20 22 23 24 25 26 29 30 31 32 33 34 36 38 39 40 41 43 44 45 46 48 50 51 52 53 54 55 58 59 60 61 62 64 65 66 68 69 80 81 82 83 85 86 88 89 90 92 93 94 95 96 99 100 ``` **关键数字验证**: * **7的倍数被跳过**:如 7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98 均未出现在输出中[ref_3]。 * **个位是7的数字被跳过**:如 7, 17, 27, 37, 47, 57, 67, 77, 87, 97 均未出现在输出中[ref_1]。 * **同时满足两个条件的数字被跳过**:例如数字 **77**,它既是7的倍数,个位也是7,因此被正确跳过[ref_5]。 ### 总结与扩展 上述方法均能有效解决问题。选择哪种方法取决于具体场景和个人编码风格: * **方法一**逻辑最清晰,易于理解和修改,是初学者的首选。 * **方法二**代码简洁高效,适合在需要直接获得结果列表时使用。 * **方法三**通过 `continue` 明确表达了“跳过”的逻辑,在循环体较复杂时有助于提高代码可读性。 这个问题的变体,例如“逢7过”游戏,其规则通常是遇到**数字包含7(不仅仅是个位)或是7的倍数**时跳过[ref_5]。若要实现该变体,只需将条件 `num % 10 != 7` 修改为检查数字中是否包含字符 `‘7’`,例如 `‘7’ not in str(num)`。这展示了通过调整条件判断逻辑,可以灵活应对不同的筛选需求[ref_2][ref_5]。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

Python内容推荐

python输入一个水仙花数(三位数) 输出百位十位个位实例

python输入一个水仙花数(三位数) 输出百位十位个位实例

我就废话不多说了,大家还是直接看代码吧! # python输入一个水仙花数(三位数) 输出百位十位个位 """ 从控制台输入一个三位数num, 如果是水仙花数就打印num是水仙花数, 否则打印num不是水仙花数 """ """ 任务: 1、定义变量num用于存放用户输入的数值 2、定义变量gw、sw、bw分别用于存放输入的三位数的个位,十位,百位 3、定义变量total,用于存放各位数字立方和 4、用if语句判断各位数字立方和是否等于该本身 5、符合条件输出num是水仙花数,反之输出num不是水仙花数 """ """ 任务提示 1、"水仙花数"是指一个三位数,其各位数字立方和等于该本身。

python  计算1000以内的水仙花数

python 计算1000以内的水仙花数

我是小玉,一个平平无奇的小天才! 水仙花: 先来说说什么是水仙花? 例如:153=1100+510+3*1 且153=13+53+33 三次方是根据这个数字的位数来决定的。 这种形式的数字就被称为水仙花数。(要求水仙花数必须是三位以上的整数哦!) 今天小玉跟大家讲讲如何用python来实现1000以内的水仙花数的数量统计。 编码思路: 在输入一个任意的数字i的时候,首先需要判断这个数字为几位数,也就是要输出一个位数n 分解这个数的各个位的数字。 判断每个位上的数字的n次方之和是否为i。 代码实现: # 水仙花数: i = 100 #水仙花数必须是三位及以上的整数 num = 0

python使用循环打印所有三位数水仙花数的实例

python使用循环打印所有三位数水仙花数的实例

今天小编就为大家分享一篇python使用循环打印所有三位数水仙花数的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

python四叶玫瑰数(csdn)————程序.pdf

python四叶玫瑰数(csdn)————程序.pdf

python四叶玫瑰数(csdn)————程序

Python 练习题100道

Python 练习题100道

Python 练习题100道

Python3实现个位数字和十位数字对调, 其乘积不变

Python3实现个位数字和十位数字对调, 其乘积不变

两位数13和62具有很有趣的性质,把它们个位数字和十位数字对调, 其乘积不变, 即 13 * 62 31 * 26 编程序求共有多少对这种性质的两位数,个位与十位相同的不在此列 如11、22 重复出现的不在此列 如 1362与6213 count = 0 for i in range(11, 100): first_left = i // 10 first_right = i if first_left == first_right: #减少程序循环次数,因为后面的 for j in range(i + 1, 100) continue # 已经解决

Python求出0~100以内的所有素数

Python求出0~100以内的所有素数

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。下面小编给大家带来了Python求出0~100以内的所有素数实例代码,需要的朋友参考下

python代码打印100-999之间的回文数示例

python代码打印100-999之间的回文数示例

今天小编就为大家分享一篇python代码打印100-999之间的回文数示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

Python—-水仙花数、九九乘法口诀表、质数、猜数游戏

Python—-水仙花数、九九乘法口诀表、质数、猜数游戏

文章目录1 水仙花数2 质数3 控制台输出9 9乘法表4 猜数字游戏 如有不足之处,欢迎读者评论,我会第一时间做出改进 1 水仙花数 水仙花数(Narcissistic number): 也称超完全数字不变数、自恋数、自幂数、阿姆斯壮数、阿姆斯特朗数 它是指 一个 n 位数(n>=3),它的每一位上的数字的n次幂之和等于它本身。 例如:13+53+3**3=153 水仙花数只是自幂数的一种,严格意义上来说3位数的3次幂才称为水仙花数。 求出1000以内的所有水仙花数. print('1000以内的所有水仙花数如下:') for num in range(100,1000): a = num

python基础案例100

python基础案例100

Python基础案例 入门级别

python入门经典100题.pdf

python入门经典100题.pdf

python⼊门经典100题 ⼊门经典100题 1. 有1、2、3、4个数字,能组成多少个互不相同且⽆重复数字的三位数?都是多少? _=0 for i in range(1,5): for j in range(1,5): for k in range(1,5): if i ==j or i == k or j == k: continue else: print(100*i+10*j+k) _ += 1 print(_) 2.⼀个整数,它加上100后是⼀个完全平⽅数,再加上168⼜是⼀个完全平⽅数,请问该数是多少? for i in range(100): for j in range(100): if i**2-j**2==168: x=j**2-100 print(x) 3.判断101-200之间有多少个素数,并输出所有素数。 素数就是在⼤于1的⾃然数中,除了1和它本⾝不再有其他因数的数。 num = [] for i in range(101,200): for j in range(2,i): if i%j == 0: break else: num.append(i) pr

python编程入门教程100例-python编程语言入门经典100例-36.pdf

python编程入门教程100例-python编程语言入门经典100例-36.pdf

python编程⼊门教程100例_【python】编程语⾔⼊门经典100 例--36 1 #题⽬:求100之内的素数. 代码: 2 li = [] 3 for x in range(2,101): 4 m = 0 5 for y in range(2,x): 6 if x%y == 0: 7 m = 1 8 break 9 if m == 0: 10 li.append(x) 11 print('1到100之内的素数是:') 12 print(li) 运⾏结果: 1到100之内的素数是: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97] [root@HK code_100]# 代码解释: #思路:对⽐程序12,这是第⼆种求素数的思路,双重循环,⽤条件flag判断是否是素数,如果是就加⼊列表li 2 li = [] #创建⼀个空列表,⽤来存放素数 3 for x in range(2,101): # 因为1不是素数,遍历2到100所有的数 4 m

python输出100以内的质数与合数实例代码

python输出100以内的质数与合数实例代码

本文通过实例代码给大家介绍了python输出100以内的质数与合数的方法,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

python 求1-100之间的奇数或者偶数之和的实例

python 求1-100之间的奇数或者偶数之和的实例

今天小编就为大家分享一篇python 求1-100之间的奇数或者偶数之和的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

Python 2种方法求某个范围内的所有素数(质数)

Python 2种方法求某个范围内的所有素数(质数)

素数简介 质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。 方法1 def primeNUM(min,max): if min==1: print('') min += 1 for i in range(min, max+1): for j in range(2, i + 1): if i % j == 0: #判断i能不能被整除 break #退出for循环 if j == i: #若j等于i,说明i是素数 print(i

python经典百题之水仙花数

python经典百题之水仙花数

python经典百题之水仙花数

使用Python判断质数(素数)的简单方法讲解

使用Python判断质数(素数)的简单方法讲解

主要介绍了使用Python判断质数(素数)的简单方法讲解,经常被用来做科学计算的Python处理这种小问题当然手到擒来^_-需要的朋友可以参考下

python打印n位数“水仙花数”(实例代码)

python打印n位数“水仙花数”(实例代码)

主要介绍了python打印n位数“水仙花数”,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

python:水仙花数的代码实现

python:水仙花数的代码实现

python:水仙花数的代码实现

Python测试面试题.pdf

Python测试面试题.pdf

python测试开发笔试题,小程序,脚本,软件测试,面试题

最新推荐最新推荐

recommend-type

pytorch 实现查看网络中的参数

今天小编就为大家分享一篇pytorch 实现查看网络中的参数,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

pytorch 查看cuda 版本方式

主要介绍了pytorch 查看cuda 版本方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

pytorch框架学习(13)——可视化工具TensorBoard

文章目录1. TensorBoard简介2. tensorboard使用2.1 SummaryWriter2.2 方法 1. TensorBoard简介 TensorBoard:TensorFlow中强大的可视化工具 支持标量、图像、文本、音频、视频和Embedding等多种数据可视化 运行机制 tensorboard –logdir=./runs 作业 熟悉TensorBoard的运行机制,安装TensorBoard,并绘制曲线 y = 2*x import numpy as np from torch.utils.tensorboard import SummaryWriter writ
recommend-type

PyTorch学习笔记(七):PyTorch可视化

资源PyTorch学习笔记(七):PyTorch可视化知识分享
recommend-type

第4章 基于Pytorch的相关可视化工具.rar

PyTorch深度学习入门与实战(案例视频精讲)课堂教学讲义(Jupyter :ipynb,文字和代码以及插图 )
recommend-type

学生成绩管理系统C++课程设计与实践

资源摘要信息:"学生成绩信息管理系统-C++(1).doc" 1. 系统需求分析与设计 在进行学生成绩信息管理系统开发前,首先需要进行系统需求分析,这是确定系统开发目标与范围的过程。需求分析应包括数据需求和功能需求两个方面。 - 数据需求分析: - 学生成绩信息:需要收集学生的姓名、学号、课程成绩等数据。 - 数据类型和长度:明确每个数据项的数据类型(如字符串、整型等)和长度,例如学号可能是字符串类型且长度为一定值。 - 描述:详细描述每个数据项的意义,以确保系统能够准确处理。 - 功能需求分析: - 列出功能列表:用户界面应提供清晰的操作指引,列出所有可用功能。 - 查询学生成绩:系统应能通过学号或姓名查询学生的成绩信息。 - 增加学生成绩信息:允许用户添加未保存的学生成绩信息。 - 删除学生成绩信息:能够通过学号或姓名删除已经保存的成绩信息。 - 修改学生成绩信息:通过学号或姓名修改已有的成绩记录。 - 退出程序:提供安全退出程序的选项,并确保所有修改都已保存。 2. 系统设计 系统设计阶段主要完成内存数据结构设计、数据文件设计、代码设计、输入输出设计、用户界面设计和处理过程设计。 - 内存数据结构设计: - 使用链表结构组织内存中的数据,便于动态增删查改操作。 - 数据文件设计: - 选择文本文件存储数据,便于查看和编辑。 - 代码设计: - 根据功能需求,编写相应的函数和模块。 - 输入输出设计: - 设计简洁明了的输入输出提示信息和操作流程。 - 用户界面设计: - 用户界面应为字符界面,方便在命令行环境下使用。 - 处理过程设计: - 设计数据处理流程,确保每个操作都有明确的处理逻辑。 3. 系统实现与测试 实现阶段需要根据设计阶段的成果编写程序代码,并进行系统测试。 - 程序编写: - 完成系统设计中所有功能的程序代码编写。 - 系统测试: - 设计测试用例,通过测试用例上机测试系统。 - 记录测试方法和测试结果,确保系统稳定可靠。 4. 设计报告撰写 最后,根据系统开发的各个阶段,撰写详细的设计报告。 - 系统描述:包括问题说明、数据需求和功能需求。 - 系统设计:详细记录内存数据结构设计、数据文件设计、代码设计、输入/输出设计、用户界面设计、处理过程设计。 - 系统测试:包括测试用例描述、测试方法和测试结果。 - 设计特点、不足、收获和体会:反思整个开发过程,总结经验和教训。 时间安排: - 第19周(7月12日至7月16日)完成项目。 - 7月9日8:00到计算机学院实验中心(三楼)提交程序和课程设计报告。 指导教师和系主任(或责任教师)需要在文档上签名确认。 系统需求分析: - 使用表格记录系统需求分析的结果,包括数据项、数据类型、数据长度和描述。 - 分析数据项如学生成绩信息、状态器、链表节点等,确定其属性和行为。 以上就是文档中提到的学生成绩信息管理系统开发的关键知识点。开发此类系统需要熟练掌握C++编程基础,了解面向对象的程序设计思想,以及熟悉文件操作和链表等数据结构的应用。此外,良好的软件开发流程意识、测试意识和文档撰写能力也是必不可少的。
recommend-type

别再手动拖拽了!用Lumerical脚本批量创建FDTD仿真结构(附完整代码)

# 告别低效建模:Lumerical脚本自动化实战指南 在光子学仿真领域,时间就是科研生命线。当同行还在GUI界面里反复点击菜单时,你已经用脚本批量生成了20组参数化结构——这不是未来场景,而是每位FDTD用户都应该掌握的基础生产力革命。本文将彻底改变你与Lumerical的交互方式,从手动拖拽的农耕时代,跃迁到自动化建模的工业文明。 ## 1. 为何脚本建模是必然选择 2019年Nature Photonics的一项研究显示,科研工作者在仿真工具上平均浪费37%的时间在重复性操作上。对于需要参数扫描的纳米光学结构设计,这个数字可能更高。手动创建10个不同尺寸的纳米柱阵列意味着: -
recommend-type

Java邮件解析任务中,如何安全高效地提取HTML邮件内容并避免硬编码、资源泄漏和类型转换异常?

<think>我们被要求优化一段Java代码,该代码用于处理邮件(特别是来自特定发件人的构建通知邮件)。代码的主要问题包括: 1. 重复获取邮件内容:在检查MIME类型后,多次调用`msg[i].getContent()`,这可能导致性能问题或流关闭异常。 2. 类型转换问题:直接将邮件内容转换为`Multipart`而不进行类型检查,可能引发`ClassCastException`。 3. 代码结构问题:逻辑嵌套过深,可读性差,且存在重复代码(如插入邮件详情的操作在两个地方都有)。 4. 硬编码和魔法值:例如在解析HTML表格时使用了硬编码的索引(如list3.get(10)),这容易因邮件
recommend-type

RH公司应收账款管理优化策略研究

资源摘要信息:"本文针对RH公司的应收账款管理问题进行了深入研究,并提出了改进策略。文章首先分析了应收账款在企业管理中的重要性,指出其对于提高企业竞争力、扩大销售和充分利用生产能力的作用。然后,以RH公司为例,探讨了公司应收账款管理的现状,并识别出合同管理、客户信用调查等方面的不足。在此基础上,文章提出了一系列改善措施,包括完善信用政策、改进业务流程、加强信用调查和提高账款回收力度。特别强调了建立专门的应收账款回收部门和流程的重要性,并建议在实际应用过程中进行持续优化。同时,文章也意识到企业面临复杂多变的内外部环境,因此提出的策略需要根据具体情况调整和优化。 针对财务管理领域的专业学生和从业者,本文提供了一个关于应收账款管理问题的案例研究,具有实际指导意义。文章还探讨了信用管理和征信体系在应收账款管理中的作用,强调了它们对于提升企业信用风险控制和市场竞争能力的重要性。通过对比国内外企业在应收账款管理上的差异,文章总结了适合中国企业实际环境的应收账款管理方法和策略。" 根据提供的文件内容,以下是详细的知识点: 1. 应收账款管理的重要性:应收账款作为企业的一项重要资产,其有效管理关系到企业的现金流、财务健康以及市场竞争力。不良的应收账款管理会导致资金链断裂、坏账损失增加等问题,严重影响企业的正常运营和长远发展。 2. 应收账款的信用风险:在信用交易日益频繁的商业环境中,企业必须对客户信用进行评估,以便采取合理的信用政策,降低信用风险。 3. 合同管理的薄弱环节:合同是应收账款管理的法律基础,严格的合同管理能够保障企业权益,减少因合同问题导致的应收账款风险。 4. 客户信用调查:了解客户的信用状况对于预测和控制应收账款风险至关重要。企业需要建立有效的客户信用调查机制,识别和筛选信用良好的客户。 5. 应收账款回收策略:企业应建立有效的账款回收机制,包括定期的账款跟进、逾期账款的催收等。同时,建立专门的应收账款回收部门可以提升回收效率。 6. 应收账款管理流程优化:通过改进企业内部管理流程,如简化审批流程、提高工作效率等措施,能够提升应收账款的管理效率。 7. 应收账款管理策略的调整和优化:由于企业的内外部环境复杂多变,因此制定的管理策略需要根据实际情况进行动态调整和持续优化。 8. 信用管理和征信体系的作用:建立和完善企业内部信用管理体系和征信体系,有助于企业更好地控制信用风险,并在市场竞争中占据有利地位。 9. 对比国内外应收账款管理实践:通过研究国内外企业在应收账款管理上的不同做法和经验,可以借鉴先进的管理理念和方法,提升国内企业的应收账款管理水平。 综上所述,本文深入探讨了应收账款管理的多个方面,为RH公司乃至其他同类型企业提供了应收账款管理的改进方向和策略,对于财务管理专业的教育和实践都具有重要的参考价值。
recommend-type

新手别慌!用BingPi-M2开发板带你5分钟搞懂Tina Linux SDK目录结构

# 新手别慌!用BingPi-M2开发板带你5分钟搞懂Tina Linux SDK目录结构 第一次拿到BingPi-M2开发板时,面对Tina Linux SDK里密密麻麻的文件夹,我完全不知道从哪下手。就像走进一个陌生的大仓库,每个货架上都堆满了工具和零件,却找不到操作手册。这种困惑持续了整整两天,直到我意识到——理解目录结构比死记硬背每个文件更重要。 ## 1. 为什么SDK目录结构如此重要 想象你正在组装一台复杂的模型飞机。如果所有零件都混在一个箱子里,你需要花大量时间寻找每个螺丝和面板。但如果有分门别类的隔层,标注着"机身部件"、"电子设备"、"紧固件",组装效率会成倍提升。Ti