【100天精通python】Day5:python 基本语句,流程控制语句

news2024/11/27 22:40:39

目录

1. 条件语句

1.1 if语句

1.2 if-else语句 

1.3  if-elif-else语句

2 循环语句

2.1 for循环

2.2 while循环:

3  跳转语句

3.1 break语句

3.2 continue语句

3.3 pass语句

4  异常处理语句(try-except语句)

5 语句嵌套

5.1 条件语句套

5.2 循语句嵌套 

5.2.1 for 循环嵌套for 循环

5.2.2  while循环嵌套while循环

5.2.3 while循环嵌套for循环

5.2.4 for循环嵌套while循环

5.3 函数定义语句嵌套


      在Python中,流程控制语句用于根据条件执行不同的代码块。以下是Python中常用的流程控制语句:

 

1. 条件语句

1.1 if语句

        根据条件判断是否执行特定的代码块。

if condition:
    # 执行语句块

1.2 if-else语句 

        根据条件判断执行不同的代码块。 

if condition:
    # 执行语句块1
else:
    # 执行语句块2

1.3  if-elif-else语句

        根据多条件判断执行不同的代码,流程图如下:​​

 代码:

if condition1:
    # 如果条件1为真,执行这里的代码
elif condition2:
    # 如果条件2为真,执行这里的代码
else:
    # 如果前面的条件都不为真,执行这里的代码

2 循环语句

        循环语句用于重复执行一段代码,直到满足特定条件为止。Python提供了两种循环语句:for循环和while循环。 

2.1 for循环

        for循环用于遍历一个可迭代对象(如列表、元组、字符串等),执行循环体中的代码。它的基本语法如下:

for item in iterable:
    # 遍历可迭代对象中的每个元素,执行这里的代码

2.2 while循环:

        while循环用于在满足特定条件的情况下重复执行一段代码,直到条件不再成立。它的基本语法如下: 

while condition:
    # 只要条件为真,执行这里的代码

3  跳转语句

        在 Python 中,跳转语句用于改变程序的执行流程,常见的跳转语句包括breakcontinuepass。下面是它们的详细介绍:

3.1 break语句

  break语句用于跳出当前所在的最内层循环(for循环或while循环),并继续执行循环后的代码。它常用于在满足特定条件时提前结束循环。例如:

for i in range(5):
    if i == 3:
        break
    print(i)

输出:

0
1
2

在上述例子中,当i等于3时,break语句被执行,跳出了循环。

3.2 continue语句

  continue语句用于跳过当前循环中的剩余代码,直接进行下一次循环迭代。它常用于在满足特定条件时跳过当前循环的执行。例如:

for i in range(5):
    if i == 2:
        continue
    print(i)

输出:

0
1
3
4

 在上述例子中,当i等于2时,continue语句被执行,跳过了该次循环的剩余代码,直接进行下一次循环迭代。

3.3 pass语句

  pass语句用于表示一个空语句块,不执行任何操作。它通常用作占位符,用于在语法上需要语句但又不需要执行任何操作的地方。例如:

if condition:
    pass
else:
    # 执行其他代码

在上述例子中,当条件满足时,pass语句不执行任何操作,而是直接跳过,执行else块中的代码。

4  异常处理语句(try-except语句)

        在 Python 中,异常处理语句(try-except语句)用于捕获和处理代码执行过程中可能出现的异常情况,以防止程序意外终止。通过使用try-except语句,你可以编写代码来处理异常,而不是让程序崩溃。

        下面是try-except语句的基本语法:

try:
    # 可能引发异常的代码块
except ExceptionType1:
    # 处理特定类型的异常1
except ExceptionType2:
    # 处理特定类型的异常2
except:
    # 处理其他所有类型的异常
else:
    # 如果没有异常发生,执行这里的代码
finally:
    # 无论是否发生异常,都执行这里的代码

try语句块中的代码是可能引发异常的代码块。如果在执行try语句块中的代码时引发了异常,那么相应的异常处理块(except语句块)会被执行。你可以使用一个或多个except语句块来处理特定类型的异常,也可以使用一个没有指定异常类型的except语句块来处理所有类型的异常。

除了except语句块,还可以使用else语句块和finally语句块: 

  • else语句块:当没有异常发生时,执行else语句块中的代码。
  • finally语句块:无论是否发生异常,都会执行finally语句块中的代码。

下面是一个示例:

try:
    # 可能引发异常的代码块
    result = 10 / 0  # 除以零会引发ZeroDivisionError异常
except ZeroDivisionError:
    print("除以零错误!")
except Exception as e:
    print("其他异常:", str(e))
else:
    print("没有发生异常。")
finally:
    print("无论是否发生异常,都执行这里的代码。")

在上述示例中,由于除以零会引发ZeroDivisionError异常,所以程序会跳转到相应的except语句块,输出"除以零错误!"。然后会执行finally语句块中的代码,输出"无论是否发生异常,都执行这里的代码。"。

5 语句嵌套

在Python中,语句嵌套是指将一个或多个语句放置在另一个语句的内部。常见语句嵌套形式包条件语句嵌套、循环语句套和函数定义语嵌套

5.1 条件语句套

if condition1:
    # 执行语句块1
    if condition2:
        # 执行语句块2
    else:
        # 执行语句块3
else:
    # 执行句块4

5.2 循语句嵌套 

5.2.1 for 循环嵌套for 循环
for i range(5):
    # 外层循环
    for j in range(3):
        # 内层循环
        # 执行语句块
5.2.2  while循环嵌套while循环
i = 1
while i <= 3:
    print("外层循环:", i)
    j = 1
    while j <= 2:
        print("内层循环:", j)
        j += 1
    i += 1

 在上述示例中,外层的 while 循环会迭代 3 次,每次迭代时内层的 while 循环会执行 2 次。这样会输出外层循环的值以及内层循环的值。

在Python中,你可以在一个循环语句中嵌套另一个循环语句,例如在while循环中嵌套for循环,或者在for循环中嵌套while循环。这种循环嵌套可以用于处理更复杂的迭代和控制流程。下面是这两种循环嵌套的示例:

5.2.3 while循环嵌套for循环
i = 1
while i <= 3:
    print("外层循环:", i)
    for j in range(2):
        print("内层循环:", j)
    i += 1

在上述示例中,外层的while循环会迭代3次,每次迭代时内层的for循环会执行2次。这样会输出外层循环的值以及内层循环的值。

输出:

5.2.4 for循环嵌套while循环
for i in range(3):
    print("外层循环:", i)
    j = 0
    while j < 2:
        print("内层循环:", j)
        j += 1

 在上述示例中,外层的for循环会迭代3次,每次迭代时内层的while循环会执行2次。这样会输出外层循环的值以及内层循环的值。

输出:

5.3 函数定义语句嵌套

def outer_function():
    # 外层函数
    def inner_function():
        # 内层函数
        # 执行语句块
    # 执行语句块

以下是一个使用Python编写的逢7拍腿游戏的示例代码:

def clap_game():
    print("欢迎来到逢7腿游戏!")
    print("按下回车键开始...")
    input()
    
    target_score = 100
 current_score = 0
    
    while current_score < target_score:
        print("当前分数:", current_score)
        print("请输入 'clap' 进行拍:")
        user_input = input()
        
        if user_input.lower() == "clap":
            current_score += 1
            if current_score % 7 0 or '7' in str(current_score):
                print("恭喜你到了7的倍数或包含数字7!")
        else            print("输入无效,请重新输入!")
    
    print("恭喜达到目标分数!", target_score)
    print("戏结束!")

clap_game()

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

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

相关文章

将maven库中没有的jar包导入本地库后编译还提示缺这个jar包

Maven本地仓库有对应的jar包但是报找不到 问题原因 第一&#xff0c;你本地仓库对应的包文件夹下有_remote.repositories这个文件&#xff1b; 第二&#xff0c;你的项目现在连接不到下载这个包的仓库&#xff1b; 以上两点就是本地明明有对应的jar包&#xff0c;但项目中还…

SpringBoot项目中WEB页面放哪里--【SB系列之008】

SpringBoot系列文章目录 SpringBoot 的项目编译即报错处理–SB系列之001 —第一部的其它章节可以通过001链接 SpringBoot项目中WEB页面放哪里–【SB系列之008】 SpringBoot项目中WEB与Controller的联系–【SB系列之009】 ———————————————— 文章目录 SpringBoo…

VulnHub靶机-Socnet

文章目录 实验环境信息收集存活主机探测端口服务探测目录扫描反弹shell建立代理 内网探测漏洞发现漏洞利用 权限提升总结 实验环境 靶机地址&#xff1a; https://www.vulnhub.com/entry/boredhackerblog-social-network,454/靶机ip&#xff1a;192.168.56.101 攻击机&#x…

银河麒麟系统挂载的home文件夹无执行权限

银河麒麟系统挂载的home文件夹里放可执行程序&#xff0c;脚本无法运行&#xff0c;最后修改/etc/fstab文件如下所示就可以了 修改完重启电脑就可以执行可执行程序了

Thymeleaf + Layui+快速分页模板(含前后端代码)

发现很多模块写法逻辑太多重复的&#xff0c;因此把分页方法抽取出来记录以下&#xff0c;以后想写分页直接拿来用即可&#xff1a; 1. 首先是queryQrEx.html&#xff1a; <!DOCTYPE html> <html xmlns:th"http://www.w3.org/1999/xhtml"> <head>…

专业信用修复!揭阳市企业信用修复办法,企业修复好处及失信危害,申请条件

本文小编将为大家介绍2023年揭阳市企业信用修复办法指导及信用修复意义、好处等内容&#xff0c;详情如下&#xff0c;如果有广州市、深圳市、江门市、佛山市、汕头市、湛江市、韶关市、中山市、珠海市、茂名市、肇庆市、阳江市、惠州市、潮州市、揭阳市、清远市、河源市、东莞…

Nautlius Chain主网正式上线,模块Layer3时代正式开启

Nautilus Chain是在Vitalik Buterin提出Layer3理念后&#xff0c; 对Layer3领域的全新探索。作为行业内首个模块化Layer3链&#xff0c;我们正在对Layer3架构进行早期的定义&#xff0c;并有望进一步打破公链赛道未来长期的发展格局。 在今年年初&#xff0c;经过我们一系列紧张…

RTD2555T RTD2556T(Typec) eDP屏显示介绍

RTD2555T是新一代HDMI2DP转eDP的IC&#xff0c;主要应该用Typec便携式显示器驱动芯片&#xff0c;搭配LDR6282等PD IC实现2个Typec口正反插&#xff0c;充电等&#xff0c;支持按键菜单操作&#xff0c;支持串口通信控制等功能定制。

【stable diffusion】保姆级入门课程01-Stable diffusion(SD)文生图究竟是怎么一回事

目录 学前视频 0.本章素材 1.什么是文生图 2.界面介绍 2.1切换模型的地方 2.2切换VAE 2.3功能栏 2.4提示词 1.提示词的词性 2.提示词的语法 3.提示词的组成 4.提示词的权重调整 2.5参数调整栏 1.采样方法 2.采样迭代步数 3.面部修复 4.平铺图 5.高清修复 6.…

数据中心机房建设,务必确定这13个关键点

下午好&#xff0c;我的网工朋友。 关于机房、机架的相关内容&#xff0c;给你们说了不少。 今天再给你补充个知识点&#xff0c;机房建设&#xff0c;要怎么做。 熟悉机房建设的网工朋友可能都知道&#xff0c;一个全面的数据中心机房建设工程一般包括&#xff1a; 综合布…

多线程——互斥和同步

多线程—互斥和同步 文章目录 多线程—互斥和同步多线程互斥互斥量mutex互斥量的接口初始化互斥量静态分配动态分配&#xff1a;pthread_mutex_init初始化互斥量 销毁互斥量int pthread_mutex_destroy销毁互斥量 互斥量加锁和解锁pthread_mutex_lock加锁pthread_mutex_trylock非…

IPv4 与 IPv6:网络性能和带宽的比较

网络连接已经成为我们生活中不可或缺的一部分&#xff0c;而IP地址是网络连接中最基本和最重要的部分。IPv4和IPv6是两种常用的IP地址协议&#xff0c;它们之间有着很大的差异。 首先&#xff0c;让我们了解一下IPv4和IPv6的基本概念。IPv4是互联网上使用最广泛的IP地址协议&am…

(栈队列堆) 剑指 Offer 30. 包含min函数的栈 ——【Leetcode每日一题】

❓ 剑指 Offer 30. 包含min函数的栈 难度&#xff1a;简单 定义栈的数据结构&#xff0c;请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中&#xff0c;调用 min、push 及 pop 的时间复杂度都是 O ( 1 ) O(1) O(1)。 示例: MinStack minStack new MinStack()…

Hadoop——HDFS的Java API操作(文件上传、下载、删除等)

1、创建Maven项目 2、修改pom.xml文件 <dependencies><!-- Hadoop所需依赖包 --><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-common</artifactId><version>2.7.0</version></dependency&…

linux之Ubuntu系列(四)用户管理 用户和权限 chmod 超级用户root, R、W、X、T、S

r(Read&#xff0c;读取)&#xff1a;对文件而言&#xff0c;具有读取文件内容的权限&#xff1b;对目录来说&#xff0c;具有浏览目 录的权限。 w(Write,写入)&#xff1a;对文件而言&#xff0c;具有新增、修改文件内容的权限&#xff1b;对目录来说&#xff0c;具有删除、移…

DNS基础知识(前端工程师必备知识)

DNS 在工作中&#xff0c;经常切换本地和服务器&#xff0c;添加各种解析。遇到DNS引起的一些问题。发现网上资料很混乱&#xff0c;用心整理写了下&#xff0c;希望对大家有帮助。 DNS&#xff08;Domain Name System&#xff0c;域名系统&#xff09;&#xff0c;最初&…

ipad可以使用其他品牌的手写笔吗?平价ipad手写笔推荐

我是一个拥有多年数码经验的爱好者&#xff0c;我知道一些关于电容笔的知识。我认为&#xff0c;苹果原装的电容笔与普通的电容笔最大的不同之处&#xff0c;就是其所带来的压感不同。由于“重力压感”的特殊性&#xff0c;我们能很快地把色彩填充到画面中。除此之外&#xff0…

tql!红队批量脆弱点信息搜集工具

功能如下 指纹识别:调用“三米前有香蕉皮“前辈工具&#xff0c;他的工具比finger好用 寻找资产中404&#xff0c;403&#xff0c;以及网页中存在的其他薄弱点&#xff0c;以及需要特定路径访问的资产 后续会把nuclei加进来 目前只有windows可以用 关注【Hack分享吧】公众号&a…

6款好用的在线原型图设计工具推荐

在线原型图的核心功能是可视化需求&#xff0c;因此一个易于使用的在线原型图工具对原型图设计至关重要。对于熟悉的Photoshop和iIlustrator来说&#xff0c;虽然它们功能强大&#xff0c;但界面太复杂&#xff0c;初学者很难快速启动&#xff0c;面对批量调整的在线原型图&…