【Python】循环语句

while

基本语法格式

while 条件:循环体
  • 条件为真, 则执行循环体代码.
  • 条件为假, 则结束循环
num = 1
while num <= 10 :print(num)num += 1

在这里插入图片描述
注:

print 函数中,可以使用 end 参数来指定输出结束时使用的字符。默认情况下,end 参数的值为 " \n ",这会导致输出结束后自动换行。通过将 end 参数的值设置为一个空字符串 “”,可以使 print 函数在输出结束后不进行换行操作。
你也可以将 end 参数设置为其他字符,例如:

num = 1
while num <= 10 :print(num , end=" ")num += 1

在这里插入图片描述

  • 代码示例: 计算 1-100 的和
sum = 0
num = 1
while num <= 100:sum += numnum += 1
print(sum)
  • 计算 5 的阶乘
result = 1
n = 1
while n <= 5:result *= nn += 1
print(result)
  • 代码示例: 求 1! + 2! + 3! + 4! + 5!
num = 1
sum = 0
while num <= 5:factorResult = 1i = 1while i <= num:factorResult *= ii += 1sum += factorResultnum += 1
print(sum)

这个程序用到了两重循环. 也就是在循环语句中也可以套循环.

for 循环

基本语法格式

for 循环变量 in 可迭代对象:循环体

注意:

  • pythonfor 和其他语言不同, 没有 “初始化语句”, “循环条件判定语句”, “循环变量更新语句”, 而是更加简单

  • 所谓的 “可迭代对象”, 指的是 “内部包含多个元素, 能一个一个把元素取出来的特殊变量”

  • 代码示例: 打印 1-10

for i in range(10):print(i,end=" ")

在这里插入图片描述

使用 range 函数, 能够生成一个可迭代对象. 生成的范围是 [1, 11), 也就是 [1, 10]

  • 代码示例: 打印 2, 4, 6, 8, 10
for i in range(2, 12, 2):print(i)

通过 range 的第三个参数, 可以指定迭代时候的 “步长”. 也就是一次让循环变量加几

  • 代码示例: 打印 10-1
for i in range(10, 0, -1):print(i)

range 的 步长 也可以设定成负数.

  • 代码示例: 求 1 - 100 的和
sum = 0
for i in range(1, 101):sum += i
print(sum)

range函数

以下是对 Python 中 range 函数的详细介绍:

一、函数定义和基本用法

  • range 是 Python 内置的一个函数,主要用于生成一个整数序列。其基本语法有以下几种形式:
    • range(stop):生成一个从 0 开始,到 stop - 1 的整数序列。
    # 示例代码
    for i in range(5):print(i)
    
    上述代码将打印出 0 到 4 的整数,因为 range(5) 生成的序列是 [0, 1, 2, 3, 4]。它的作用是从 0 开始,依次递增 1,直到达到 stop - 1 为止。
    • range(start, stop):生成一个从 start 开始,到 stop - 1 的整数序列。
    # 示例代码
    for i in range(2, 7):print(i)
    
    这里,range(2, 7) 会生成 [2, 3, 4, 5, 6]。即从 start 的值 2 开始,以步长为 1 递增,直到达到 stop - 1 的值 6 为止。
    • range(start, stop, step):生成一个从 start 开始,到 stop - 1 的整数序列,其中相邻元素的差值为 step
    # 示例代码
    for i in range(1, 10, 2):print(i)
    
    在这个例子中,range(1, 10, 2) 生成的序列是 [1, 3, 5, 7, 9]。它从 start 的值 1 开始,以 step 的值 2 为间隔进行递增,直到达到 stop - 1 的值 9 为止。

二、参数说明

  • start:表示序列的起始值。如果不提供,默认为 0。
  • stop:表示序列的终止值,但该值不包含在生成的序列中。这是 range 函数的一个重要特性,即生成的序列中的元素都小于 stop
  • step:表示序列中相邻元素之间的差值,即步长。如果不提供,默认为 1。当 step 为正数时,序列递增;当 step 为负数时,序列递减。

三、使用场景和优势

  • 生成等差数列:通过指定 step 参数,可以生成等差数列,为数学计算和数据处理提供便利。

    # 生成奇数序列
    odd_numbers = list(range(1, 10, 2))
    print(odd_numbers)
    

    此代码生成了从 1 到 9 的奇数序列。

  • 内存优化:由于 range 对象的迭代特性,对于生成大范围的数字序列,它不会占用大量内存,相比生成完整列表更具性能优势。

    # 生成一个大的范围序列
    for i in range(1000000):pass
    

    即使生成很大范围的序列,也不会像生成一个包含 100 万个元素的列表那样占用大量内存。

五、特殊情况和注意事项

  • 递减序列:当 step 为负数时,start 应该大于 stop,以生成递减序列。
    # 生成递减序列
    for i in range(10, 1, -2):print(i)
    
    这里 range(10, 1, -2) 生成的序列是 [10, 8, 6, 4, 2]
  • 空序列:如果 start 等于 stopstep 为正数,或者 start 等于 stopstep 为负数,将生成一个空序列。
    empty_range = range(5, 5)
    print(list(empty_range))
    
    此代码将生成一个空列表,因为起始和终止值相同,没有元素可供生成。

continue

continue 表示结束这次循环, 进入下次循环。

代码示例: 模拟吃包子. 吃第 3 个包子的时候吃出了一只虫.

for i in range(1, 6):if i == 3:continueprint(f"吃完第 {i} 个包子")

break

break 表示结束整个循环

  • 代码示例: 模拟吃包子. 吃第 3 个包子的时候吃出了半只虫.
for i in range(1, 6):if i == 3:breakprint(f"吃完第 {i} 个包子:")
  • 代码示例: 输入若干个数字, 求平均值. 使用 “分号” 作为结尾
sum = 0
count = 0
while True:num = input("请输入数字:")if num == ';':breaknum = float(num)sum += numcount += 1
print(sum / count)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/4976.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TOSUN同星TsMaster使用入门——3、使用系统变量及c小程序结合panel面板发送报文

本篇内容将介绍TsMaster中常用的Panel面板控件以及使用Panel控件通过系统变量以及c小程序来修改信号的值&#xff0c;控制报文的发送等。 目录 一、常用的Panel控件介绍 1.1系统——启动停止按钮 1.2 显示控件——文本框 1.3 显示控件——分组框 1.4 读写控件——按钮 1.…

LeetCode:37. 解数独

跟着carl学算法&#xff0c;本系列博客仅做个人记录&#xff0c;建议大家都去看carl本人的博客&#xff0c;写的真的很好的&#xff01; 代码随想录 LeetCode&#xff1a;37. 解数独 编写一个程序&#xff0c;通过填充空格来解决数独问题。 数独的解法需 遵循如下规则&#xff…

PyTorch使用教程(10)-torchinfo.summary网络结构可视化详细说明

1、基本介绍 torchinfo是一个为PyTorch用户量身定做的开源工具&#xff0c;其核心功能之一是summary函数。这个函数旨在简化模型的开发与调试流程&#xff0c;让模型架构一目了然。通过torchinfo的summary函数&#xff0c;用户可以快速获取模型的详细结构和统计信息&#xff0…

【22】Word:小李-高新技术企业政策❗

目录 题目​ NO1.2 NO3 NO4 NO5.6 NO7.8 NO9.10 若文章中存在删除空白行等要求&#xff0c;可以到最后来完成。注意最后一定要检查此部分&#xff01;注意&#xff1a;大多是和事例一样即可&#xff0c;不用一摸一样&#xff0c;但也不要差太多。 题目 NO1.2 F12Fn&a…

TDengine 做 Apache SuperSet 数据源

‌Apache Superset‌ 是一个现代的企业级商业智能&#xff08;BI&#xff09;Web 应用程序&#xff0c;主要用于数据探索和可视化。它由 Apache 软件基金会支持&#xff0c;是一个开源项目&#xff0c;它拥有活跃的社区和丰富的生态系统。Apache Superset 提供了直观的用户界面…

Python----Python高级(文件操作open,os模块对于文件操作,shutil模块 )

一、文件处理 1.1、文件操作的重要性和应用场景 1.1.1、重要性 数据持久化&#xff1a; 文件是存储数据的一种非常基本且重要的方式。通过文件&#xff0c;我们可 以将程序运行时产生的数据永久保存下来&#xff0c;以便将来使用。 跨平台兼容性&#xff1a; 文件是一种通用…

STM32单片机:GPIO模式

GPIO有八种工作模式&#xff0c;分别是推挽输出、开漏输出、复合推挽输出、复合开漏输出、模拟输入、上拉输入、下拉输入、浮空输入。 在了解这些之前&#xff0c;我们先来看一下GPIO口内部的结构&#xff1a; I/O引脚一般工作电压为3.3V&#xff0c;在它边的两个二极管起到保…

[Qt]事件-鼠标事件、键盘事件、定时器事件、窗口改变事件、事件分发器与事件过滤器

目录 前言&#xff1a;Qt与操作系统的关系 一、Qt事件 1.事件介绍 2.事件的表现形式 常见的Qt事件&#xff1a; 常见的事件描述: 3.事件的处理方式 处理鼠标进入和离开事件案例 控件添加到对象树底层原理 二、鼠标事件 1.鼠标按下和释放事件&#xff08;单击&#x…

Linux下MySQL的简单使用

Linux下MySQL的简单使用 导语MySQL安装与配置 MySQL安装密码设置 MySQL管理 命令 myisamchkmysql其他 常见操作 C语言访问MYSQL 连接例程错误处理使用SQL 总结参考文献 导语 这一章是MySQL的使用&#xff0c;一些常用的MySQL语句属于本科阶段内容&#xff0c;然后是C语言和M…

ElasticSearch索引别名的应用

个人博客&#xff1a;无奈何杨&#xff08;wnhyang&#xff09; 个人语雀&#xff1a;wnhyang 共享语雀&#xff1a;在线知识共享 Github&#xff1a;wnhyang - Overview Elasticsearch 索引别名是一种极为灵活且强大的功能&#xff0c;它允许用户为一个或多个索引创建逻辑上…

火狐浏览器Firefox一些配置

没想到还会开这个…都是Ubuntu的错 一些个人习惯吧 标签页设置 常规-标签页 1.按最近使用顺序切换标签页 2.打开新标签而非新窗口&#xff08;讨厌好多窗口&#xff09; 3.打开新链接不直接切换过去&#xff08;很打断思路诶&#xff09; 4.关闭多个标签页时不向我确认 启动…

数据结构-队列

目录 前言一、队列及其抽象数据类型1.1 队列的基本概念1.2 队列的抽象数据类型 二、队列的实现2.1 顺序表示2.1.1 结构定义2.1.2 基本操作的实现 2.2 链式表示2.2.1 结构定义2.2.2 基本操作的实现 总结 前言 本篇文章介绍队列的基础知识&#xff0c;包括队列的抽象数据类型以及…

STM32-串口-UART-Asynchronous

一&#xff0c;发送数据 #include "stdio.h" uint8_t hello[]"Hello,blocking\r\n"; HAL_UART_Transmit(&huart1,hello,sizeof(hello),500); 二&#xff0c;MicroLIB-printf(" hello\r\n") #include "stdio.h" #ifdef __GNUC…

深度学习 DAY2:Transformer(一部分)

前言 Transformer是一种用于自然语言处理&#xff08;NLP&#xff09;和其他序列到序列&#xff08;sequence-to-sequence&#xff09;任务的深度学习模型架构&#xff0c;它在2017年由Vaswani等人首次提出。Transformer架构引入了自注意力机制&#xff08;self-attention mech…

《目标检测数据集下载地址》

一、引言 在计算机视觉的广袤领域中&#xff0c;目标检测宛如一颗璀璨的明星&#xff0c;占据着举足轻重的地位。它宛如赋予计算机一双锐利的 “眼睛”&#xff0c;使其能够精准识别图像或视频中的各类目标&#xff0c;并确定其位置&#xff0c;以边界框的形式清晰呈现。这项技…

题解 CodeForces 1037D Valid BFS? 三种解法 C++

题目传送门 Problem - 1037D - Codeforceshttps://codeforces.com/problemset/problem/1037/Dhttps://codeforces.com/problemset/problem/1037/Dhttps://codeforces.com/problemset/problem/1037/Dhttps://codeforces.com/problemset/problem/1037/Dhttps://codeforces.com/p…

2024微短剧行业生态洞察报告汇总PDF洞察(附原数据表)

原文链接&#xff1a; https://tecdat.cn/?p39072 本报告合集洞察从多个维度全面解读微短剧行业。在行业发展层面&#xff0c;市场规模与用户规模双增长&#xff0c;创造大量高收入就业岗位并带动产业链升级。内容创作上&#xff0c;精品化、品牌化趋势凸显&#xff0c;题材走…

HTML<img>标签

例子 如何插入图片&#xff1a; <img src"img_girl.jpg" alt"Girl in a jacket" width"500" height"600"> 下面有更多“自己尝试”的示例。 定义和用法 该<img>标签用于在 HTML 页面中嵌入图像。 从技术上讲&#x…

故障诊断 | BWO白鲸算法优化KELM故障诊断(Matlab)

目录 效果一览文章概述BWO白鲸算法优化KELM故障诊断一、引言1.1、研究背景及意义1.2、故障诊断技术的现状1.3、研究目的与内容二、KELM基本理论2.1、KELM模型简介2.2、核函数的选择2.3、KELM在故障诊断中的应用三、BWO白鲸优化算法3.1、BWO算法基本原理3.2、BWO算法的特点3.3、…

apisix的authz-casbin

目录 1、apisix的auth-casbin官方介绍 2、casbin介绍和使用 2.1基本知识&#xff1a; 2.2使用例子 3、配置插件 4、postman调用 5、auth-casbin的坑 1、apisix的auth-casbin官方介绍 authz-casbin | Apache APISIX -- Cloud-Native API Gateway 2、casbin介绍和使用 c…