控制流与循环:掌握程序的基本控制(2/10)

目录

控制流与循环:掌握程序的基本控制(2/10)

介绍

条件语句

基本用法

示例:判断用户输入的数字

条件语句中的逻辑运算符

示例:判断年龄阶段

循环结构

for 循环

示例 1:遍历列表

示例 2:遍历范围

while 循环

示例:计算 1 到 5 的和

循环控制语句

示例:循环控制

嵌套循环

示例:打印一个 3x3 的星号矩阵

综合示例:猜数字游戏

总结


控制流与循环:掌握程序的基本控制(2/10)

介绍

在编写程序时,通常需要控制代码的执行顺序,让程序根据不同的条件执行不同的操作或重复执行某些任务。这些操作称为控制流。在本篇文章中,我们将深入学习 Python 的控制流结构,包括条件语句(ifelifelse)和循环(forwhile)。掌握这些内容后,你将能够编写出更灵活和智能的程序。

条件语句

条件语句用于根据特定条件来执行不同的代码块。Python 的条件语句包括 ifelifelse,它们用于控制代码在不同情况下的执行。

基本用法

条件语句的基本结构如下:

if condition:
    # 如果条件为真,执行这段代码
elif another_condition:
    # 如果上一个条件不成立,执行另一个条件的代码
else:
    # 如果所有条件都不成立,执行这段代码

示例:判断用户输入的数字

以下是一个完整的代码示例,判断用户输入的数字是正数、负数还是零:

# 获取用户输入的数字
num = float(input("请输入一个数字: "))

# 判断数字的类型
if num > 0:
    print("这是一个正数。")
elif num < 0:
    print("这是一个负数。")
else:
    print("这个数字是零。")

条件语句中的逻辑运算符

在条件语句中,我们还可以使用逻辑运算符来组合多个条件,这样可以使程序更具逻辑性和灵活性。

示例:判断年龄阶段

以下是一个示例程序,通过用户输入的年龄来判断其属于哪个年龄段:

age = int(input("请输入你的年龄: "))

if age >= 18 and age <= 65:
    print("你是成年人。")
elif age < 18:
    print("你是未成年人。")
else:
    print("你是老年人。")
逻辑运算符描述示例
and全部条件为真a > 0 and b < 5
or至少一个条件为真a > 0 or b < 5
not取反操作not (a > 0)

循环结构

循环用于重复执行代码块,直到某个条件不再满足。Python 提供了两种主要的循环结构:for 循环和 while 循环。

for 循环

for 循环用于遍历一个序列(如列表、字符串或范围),它能够非常方便地对序列中的每个元素进行操作。

示例 1:遍历列表
# 使用 for 循环遍历列表
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
    print(fruit)
示例 2:遍历范围
# 使用 for 循环遍历一个范围
for i in range(5):
    print("第", i + 1, "次循环")

while 循环

while 循环在条件为真时重复执行代码块,适用于循环次数不确定但有特定终止条件的情况。

示例:计算 1 到 5 的和
# 使用 while 循环计算 1 到 5 的和
sum = 0
n = 1
while n <= 5:
    sum += n
    n += 1
print("1 到 5 的和为:", sum)

循环控制语句

在循环中,我们可以使用 breakcontinuepass 来控制循环的执行:

  • break:用于终止整个循环。

  • continue:用于跳过当前迭代,继续下一次循环。

  • pass:占位符,表示什么都不做,常用于代码结构尚未完成的情况下。

示例:循环控制
# 使用 break 终止循环
for i in range(1, 11):
    if i == 6:
        break
    print(i)  # 输出 1 到 5

# 使用 continue 跳过某次循环
for i in range(1, 11):
    if i % 2 == 0:
        continue
    print(i)  # 输出所有奇数
控制语句描述示例
break终止整个循环i 等于 6 时终止循环
continue跳过当前迭代跳过所有偶数
pass什么都不做的占位符用于代码结构占位

嵌套循环

嵌套循环是指在一个循环内部再包含一个循环,这在处理二维数据(如矩阵)时非常有用。

示例:打印一个 3x3 的星号矩阵

# 打印一个 3x3 的星号矩阵
for i in range(3):
    for j in range(3):
        print("*", end=" ")
    print()  # 换行

输出:

* * *
* * *
* * *

综合示例:猜数字游戏

让我们结合所学的条件语句和循环,编写一个简单的猜数字游戏。

import random

# 随机生成一个 1 到 100 之间的数字
target = random.randint(1, 100)
tries = 0

print("欢迎来到猜数字游戏!请输入 1 到 100 之间的数字。")

while True:
    guess = int(input("请输入你的猜测: "))
    tries += 1

    if guess < target:
        print("太小了!再试一次。")
    elif guess > target:
        print("太大了!再试一次。")
    else:
        print(f"恭喜你!你用了 {tries} 次猜中了数字 {target}。")
        break

总结

在本篇文章中,我们学习了 Python 中的控制流结构,包括条件语句(ifelifelse)和循环(forwhile),并且了解了如何使用 breakcontinuepass 来控制循环的执行。通过这些知识,你可以编写出更复杂和智能的程序。

在下一篇文章中,我们将讨论如何定义和使用函数,以提高代码的复用性和结构化。敬请期待!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python酷库之旅-第三方库Pandas(173)

目录 一、用法精讲 796、pandas.Float32Dtype类 796-1、语法 796-2、参数 796-3、功能 796-4、返回值 796-5、说明 796-6、用法 796-6-1、数据准备 796-6-2、代码示例 796-6-3、结果输出 797、pandas.Float64Dtype类 797-1、语法 797-2、参数 797-3、功能 797-…

linux查看系统架构的命令

两种方式&#xff0c;以下以中标麒麟为示例&#xff1a; 1.cat /proc/verison Linux version 3.10.0-862.ns7_4.016.mips64el mips64el即为架构 2.uname -a 输出所有内容 Linux infosec 3.10.0-862.ns7_4.016.mips64el #1 SMP PREEMPT Mon Sep 17 16:06:31 CST 2018 mips64el…

第J8周:Inception v1算法实战与解析

>- **&#x1f368; 本文为[&#x1f517;365天深度学习训练营]中的学习记录博客** >- **&#x1f356; 原作者&#xff1a;[K同学啊]** &#x1f4cc; 本周任务&#xff1a; 1了解并学习图2中的卷积层运算量的计算过程&#xff08;&#x1f3d0;储备知识->卷积层运算…

内网穿透之网络层ICMP隧道

免责申明 本文仅是用于学习检测自己搭建的靶场环境有关ICMP隧道原理和攻击实验,请勿用在非法途径上,若将其用于非法目的,所造成的一切后果由您自行承担,产生的一切风险和后果与笔者无关;本文开始前请认真详细学习《‌中华人民共和国网络安全法》‌及其所在国家地区相关法规…

提升网站流量和自然排名的SEO基本知识与策略分析

内容概要 在当今数字化时代&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;成为加强网站可见度和提升流量的重要工具。SEO的基础知识包括理解搜索引擎的工作原理&#xff0c;以及如何通过优化网站内容和结构来提高自然排名。白帽SEO和黑帽SEO代表了两种截然不同的策略&a…

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-27

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-27 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-27目录1. Large Language Model-based Augmentation for Imbalanced Node Classification on Text-Attributed Graphs摘要研究背…

耳背式助听器与定制式助听器,究竟该如何选?

在面对听力损失问题时&#xff0c;选择一款合适的助听器至关重要。目前&#xff0c;耳背式助听器和定制式助听器是比较常见的两种类型&#xff0c;很多人在二者之间犹豫不决。那么&#xff0c;到底应该怎么选呢&#xff1f; 一、耳背式助听器的特点 耳背式助听器形状类似香蕉&a…

论文阅读 - Pre-trained Online Contrastive Learning for Insurance Fraud Detection

Pre-trained Online Contrastive Learning for Insurance Fraud Detection| Proceedings of the AAAI Conference on Artificial Intelligence 目录 摘要 Introduction Methodology Problem Formulation Pre-trained Model for Enhanced Robustness Detecting Network a…

【STM32】程序建立模板

文章目录 STM32的开发方式建立基于库函数的工程建立工程的具体步骤具体程序举例工程架构 本篇介绍如何建立一个STM32工程 STM32工程结构比较复杂&#xff0c;需要用到的文件很多&#xff0c;并且程序代码也都是建立在工程结构的基础之上&#xff0c;所以学习如何新建一个STM32工…

Oracle视频基础1.1.4练习

1.1.4 dbb,ddabcPMON,SMON,LGWR,CKPT,DBWna5,b4,c2,d3,e1ad,a,c,b,eOracle instance,Oracle databaseSGA,background processcontrol file,data file,online redo file 以下是一篇关于 Oracle 基础习题 1.1.4 的博客&#xff1a; Oracle 基础习题解析&#xff1a;1.1.4 本篇文…

UE5 喷射背包

首选创建一个输入操作 然后在输入映射中添加&#xff0c;shift是向上飞&#xff0c;ctrl是向下飞 进入人物蓝图中编写逻辑&#xff0c;变量HaveJatpack默认true&#xff0c;Thrust为0 最后

linux进程的状态

​​​​​​​linux进程的概念 上篇我们学习了进程的概念&#xff0c;这篇我们将学习进程的状态 目录 前言 一、子进程和父进程 1、pid和ppid 2、通过系统调用创建进程-fork初识 二、进程的状态 1.Linux内核源代码 2.进程状态查看 3、Z(zombie)-僵尸进程 ​编辑 僵尸…

Linux下docker中elasticsearch与kibana的安装

他的脸红不是因为亚热带季风气候&#xff0c;而是因为那天太阳不忠&#xff0c;出卖一九九四年夏末心动。–《太平山顶》 在本篇博客中&#xff0c;我将详细介绍如何在 Linux 系统中安装并配置 Elasticsearch 和 Kibana&#xff0c;这两者是 ELK 堆栈的重要组成部分&#xff0c…

密钥管理方法DUKPT的OpenSSL代码实现Demo

目录 1 DUKPT简介 2 基本概念 2.1 BDK 2.2 KSN 2.3 IPEK 2.4 FK 2.5 TK 3 工作流程 3.1 密钥注入过程 3.2 交易过程 3.3 BDK派生IPEK过程 3.4 IPEK计算FK过程 4 演示Demo 4.1 开发环境 4.2 功能介绍 4.3 下载地址 5 在线工具 6 标准下载 1 DUKPT简介 DUKPT&a…

DEVOPS: 集群伸缩原理

概述 阿里云 K8S 集群的一个重要特性&#xff0c;是集群的节点可以动态的增加或减少有了这个特性&#xff0c;集群才能在计算资源不足的情况下扩容新的节点&#xff0c;同时也可以在资源利用 率降低的时候&#xff0c;释放节点以节省费用理解实现原理&#xff0c;在遇到问题的…

Linux系统解压分卷压缩文件的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

【CUDA代码实践03】m维网格n维线程块对二维矩阵的索引

文章目录 一、数据存储方式二、二维网格二维线程块三、二维网格一维线程块四、一维网格一维线程块 为了方便下次找到文章&#xff0c;也方便联系我给大家提供帮助&#xff0c;欢迎大家点赞&#x1f44d;、收藏&#x1f4c2;和关注&#x1f514;&#xff01;一起讨论技术问题&am…

低功耗4G模组:FTP应用示例

一、FTP 概述 FTP&#xff08;File Transfer Protocol&#xff0c;文件传输协议&#xff09; 是 TCP/IP 协议组中的协议之一。 FTP协议包括两个组成部分&#xff0c;其一为FTP服务器&#xff0c;其二为FTP客户端。 其中FTP服务器用来存储文件&#xff0c;用户可以使用FTP客户…

鸿蒙UI开发——基于组件安全区方案实现沉浸式界面

1、概 述 本文是接着上篇文章 鸿蒙UI开发——基于全屏方案实现沉浸式界面 的继续讨论。除了全屏方案实现沉浸式界面外&#xff0c;我们还可以使用组件安全区的方案。 当我们没有使用setWindowLayoutFullScreen()接口设置窗口为全屏布局时&#xff0c;默认使用的策略就是组件安…

智慧税务管理:金融企业报税效率与合规性提升

前言 在数字化浪潮席卷全球的今天&#xff0c;金融行业正面临前所未有的挑战与机遇。如何在复杂的税务环境中保持合规并提高效率&#xff0c;已成为每个金融企业的重中之重。今天小编就为大家介绍一下如何通过借助智能税务平台&#xff0c;实现税务管理的智能化革新&#xff0…