Python3 学习_基础篇:(八)控制语句_ for while 循环

文章目录

  • 学习目标:
    • 1.知道什么是循环;
    • 2.会用for 和 while 循环编写程序。
  • 学习内容:
    • 一、 什么是循环
    • 二、while 循环
    • 三、 for 循环
    • 四、break , continue 关键字和 else 子句
  • 拓展练习

学习目标:

1.知道什么是循环;

2.会用for 和 while 循环编写程序。


学习内容:

一、 什么是循环

循环就是重复执行一组(一条)代码,就好比找规律问题的解决。
python 中如果有一组代码需要重复执行,就可以用循环语句,这样既能减少语句量,也利用程序的阅读、修改。
python 中的循环语句有 for 和 while ,其结构控制方式如下:

Created with Raphaël 2.3.0 开始 语句1 语句2 语句n

示例 : 画一个正三角形(重复内容“前进相同步数,旋转相同角度”)

import turtle
t = turtle.Pen()
i = 1
while i <= 3:  # 当次数小于或等于3时执行t.forward(100)t.left(120)i = i + 1
turtle.done()

二、while 循环

python 中如果需要通过判断某个条件,来确定是否继续执行循环语句,或在某操作执行前无限循环时,通常使用 while 循环。
while 循环一般形式:

while 判断条件:执行语句

注意: while 循环的判断条件后必须接英文冒号( : ),执行语句前必须有相同的缩进标示代码块,要通过变量的变化,来实现循环退出,不然将进入死循环(死循环时可以通过 Ctrl + C来综止程序运行)。
while 循环的执行流程:

Created with Raphaël 2.3.0 开始 确认? 重复语句块 其他操作 结束 yes no

示例: 20以内的加法计算练习

import random
print('******欢迎来到 20 以内加法练习房间******')
a = eval(input('准备好了吗,确定请按1:'))
while a != -1:x, y = random.randint(1, 9), random.randint(1, 9)print('{} + {} ='.format(x, y))a = eval(input('请回复(退出请输入-1):'))if a == x + y:print('恭喜你,回答正确!!')else:print('回答错误,请加油哟!')

三、 for 循环

python 中,如果要循环的次数是已知的(有限的),通常使用 for 循环。
for 循环一般格式

for 变量 in 序列:执行语句块

for 循环的执行流程:

Created with Raphaël 2.3.0 开始 是否有未取值? 取值 重复语句块 结束 yes no

示例: 计算1-9各数的和

sum = 0
for i in range(1, 10):sum = sum + i
print(sum)

**range()函数: ** 生成一个数列,格式为 range([开始值:,] 结束值 [步长]) 开始值默认为0,步长默认为1,不包含结束值。

四、break , continue 关键字和 else 子句

break 关键字: 用于跳出当前循环,不再执行后续语句。当循环中,满足某条件,不再执行循环时使用 break
continue 关键字: 用于从头开始一轮新循环,后续语句本次不执行。
else 子句: 当不满足循环条件,退出循环前执行的语句。 break 关键字后,不执行 else 子句。
示例: 计算100以内不是3的倍数的数字和

sum = 0
for i in range(100):if i % 3 == 0:continuesum = sum + i
print(sum)		

拓展练习

契波那契数列:又称斐波那契数列、黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……这个数列从第三项开始,每一项都等于前两项之和。请用 for 循环,打印前20个 契波那契数列。

a = 1
b = 1
for i in range(20):print(a, end=',')a, b = b, a+b

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

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

相关文章

无缝迁移至阿里云RocketMQ:从私有化部署到云端的实用指南

目录 简介迁移步骤 选择合适的客户端版本准备必要的资源重要接口介绍更新POM依赖配置文件调整使用RocketMQTemplate进行消息处理 总结 简介 本指南旨在帮助将已有的开源RocketMQ部署顺利迁移到阿里云RocketMQ。通过逐步的指导和详细示例&#xff0c;你可以轻松实现以下场景&…

高效完成元数据导入(通过表格)

高效完成元数据导入 ​ 提升工作效率系列。别人还在吭哧吭哧干体力活的时候&#xff0c;你要将重复的工作尽量标准化&#xff0c;流程化&#xff0c;自动化&#xff0c;代码化。腾出更多的时间摸鱼&#xff08;提升自己打怪升级&#xff09; ​ 数据治理中&#xff0c;我们经…

昇思25天学习打卡营第1天|MindSpore快速入门

今天是参加华为MindSpore昇思25天学习打卡营的第一天&#xff0c;通过博客记录一下自己的学习路程 初识MindSpore 昇思MindSpore是一个全场景深度学习框架&#xff0c;旨在实现易开发、高效执行、全场景统一部署三大目标。 昇思MindSpore总体架构图 通过一套统一的MindSpore开…

Selenium、chromedriver安装配置

Selenium、chromedriver安装配置 一、Selenium简介二、Selenium安装三、ChromeDriver的安装3.1 查看浏览器版本3.2 下载ChromeDriver3.3 环境变量配置一、Selenium简介 Selenium是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的点击、下拉等操作。对于一些JS动态渲染…

河南建筑工程乙级设计资质新办对配备的技术人员有什么要求

河南建筑工程乙级设计资质新办对配备的技术人员有什么要求 河南建筑工程乙级设计资质新办时&#xff0c;对配备的技术人员有以下基本要求&#xff1a; 注册人员&#xff1a;需要配备一定数量的注册工程师&#xff0c;具体包括&#xff1a; 一级注册建筑师2名一级注册结构工程师…

OpenCV视觉--视频人脸微笑检测(超详细,附带检测资源)

目录 概述 具体实现 1.加载分类器 2.打开摄像头并识别人脸 3.处理人脸并检测是否微笑 效果 总结 概述 OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一个开源的计算机视觉和机器学习库&#xff0c;广泛应用于图像处理和视频分析等领…

【STM32】GPIO复用和映射

1.什么叫管脚复用 STM32F4有很多的内置外设&#xff0c;这些外设的外部引脚都是与GPIO复用的。也就是说&#xff0c;一个GPIO如果可以复用为内置外设的功能引脚&#xff0c;那么当这个GPIO作为内置外设使用的时候&#xff0c;就叫做复用。 STM32F4系列微控制器IO引脚通过一个…

KUBIKOS - Animated Cube Mini BIRDS(卡通立方体鸟类)

软件包中添加了对通用渲染管线 (URP) 的支持! KUBIKOS - 动画立方体迷你鸟是17种不同的可爱低多边形移动友好鸟的集合!每只都有自己的动画集。 完美收藏你的游戏! +17种不同的动物! + 低多边形(400~900个三角形) + 操纵和动画! + 4096x4096 纹理图集 + Mecanim 准备就绪…

Windows kubectl终端日志聚合(wsl+ubuntu+cmder+kubetail)

Windows kubectl终端日志聚合 一、kubectl终端日志聚合二、windows安装ubuntu子系统1. 启用wsl支持2. 安装所选的 Linux 分发版 三、ubuntu安装kubetail四、配置cmder五、使用 一、kubectl终端日志聚合 k8s在实际部署时&#xff0c;一般都会采用多pod方式&#xff0c;这种情况下…

大数据平台之Ambari

Apache Ambari 是一个用于配置、管理和监控 Hadoop 集群的开源工具。Ambari 提供了一个直观的用户界面和一组全面的 API&#xff0c;使得管理大数据集群变得更加容易和高效。以下是对 Ambari 的详细介绍&#xff1a; 1. Ambari 概述 Ambari 的主要目的是简化 Hadoop 集群的安…

开源笔记omnivore框架简单介绍

从 package.json 文件的内容可以看出&#xff0c;这个项目使用了多个工具和框架。以下是对其主要特性和工具的解释&#xff1a; 项目特性和工具 Monorepo 管理 使用了 Lerna 来管理多个包&#xff0c;这些包位于 packages/* 目录下。Lerna 是一个流行的工具&#xff0c;用于管…

通过高德api查询所有店铺地址信息

通过高德api查询所有店铺地址电话信息 需求&#xff1a;通过高德api查询所有店铺地址信息需求分析具体实现1、申请高德appkey2、下载types city 字典值3、具体代码调用 需求&#xff1a;通过高德api查询所有店铺地址信息 需求分析 查询现有高德api发现现有接口关键字搜索API服…

Django Aggregation 使用指南

Django Aggregation 使用指南 在构建Django应用时&#xff0c;我们经常需要对数据库中的数据进行汇总或聚合操作。例如&#xff0c;计算某个字段的平均值、最大值或最小值。这篇文章将详细介绍如何在Django中使用聚合查询&#xff0c;并结合实例进行说明。 聚合查询简介 Dja…

数据库精选题(五)(事务、并行控制与恢复系统)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;数据库 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 前言 概论 事务 并发控制 恢复系统 三…

游戏AI的创造思路-技术基础-机器学习(2)

本篇存在大量的公式&#xff0c;数学不好的孩子们要开始恶补数学了&#xff0c;尤其是统计学和回归方程类的内容。 小伙伴们量力而行~~~~~ 游戏呢&#xff0c;其实最早就是数学家、元祖程序员编写的数学游戏&#xff0c;一脉相承传承至今&#xff0c;囊括了更多的设计师、美术…

QT拖放事件之五:自定义拖放操作-拖动中的修饰符操作

1、效果 2、代码 #include "SelfButton.h" #include <QApplication>SelfButton::SelfButton(QString str ,QWidget* parent):Q

按揭和抵押的区别和联系

按揭和抵押在法律上是有所区别的&#xff1a; 抵押&#xff1a;指的是债务人&#xff08;或第三人&#xff09;将自己的动产或不动产不移交给债权人&#xff0c;作为债权的担保。债务人不履行债务时&#xff0c;债权人有权优先受偿。抵押物不转移占有&#xff0c;仍由债务人或…

JAVA系列---HttpServletRequest

Servlet 处理 HTTP 请求的流程 一般情况下&#xff0c;浏览器&#xff08;客户端&#xff09;通过 HTTP 协议来访问服务器的资源&#xff0c;Servlet 主要用来处理 HTTP 请求。核心对象有三个 Servlet&#xff1a;提供service()方法处理请求ServletRequest&#xff1a;请求信…

leetcode 560.和为k的子数组 | 叱诧风云 !前缀和 + 哈希表优化!

. - 力扣&#xff08;LeetCode&#xff09; 这道题目的解法我个人认为是非常的巧妙的&#xff0c;因为一开始我是没有想到用前缀和和哈希表来解决&#xff0c;所以今天在这里写一篇题解&#xff0c;来回顾也算是巩固一下我对于这道题目的理解。 首先我先来解释一下&#xff0…

linux中的调试工具gdb

目录 1.背景知识补充 2.使用 知识补充 1.背景知识补充 1.gcc下编译默认是release方式发布的&#xff0c;无法直接进行调试 如果要以debug方式发布&#xff0c;需要携带-g 可以使用grep查询 因为携带debug信息&#xff0c;其文件体积要大一些 2.使用 1.gdb 可执行程序 …