程序猿大战Python——流程控制——其他控制语句

news2024/11/20 12:25:50

for循环

==目标:==掌握for循环的使用。

与while循环功能类似,for语句也能完成反复多次的执行。

for语法:

for 临时变量 in 序列:
    满足条件时,执行的代码1
    满足条件时,执行的代码2
    ……
[else:
    当for循环正常执行结束后,执行代码]

说明:

序列指的是能被循环处理的数据类型,比如列表、字符串等。

 

接着,来看一下for循环里常见的序列range()函数。

函数名含义
range(x, y)一个序列,专门用于给for循环使用。

说明:

range()中的参数表示从x到y的取值,即[x,y),表示能获取到x值,但获取不到y值。

例如,一起来完成:

(1)使用for循环格式来编写程序;

(2)输出0 ~ 4之间的数字,可使用range();

(3)循环输出itheima中的单个字符,且当正常执行结束后,输出:已循环结束;

(4)执行程序,观察效果。

# 1.0-4
# for temp in range(0,5):
for temp in range(5):
    print(temp)
# 2.itheima
# for temp in "itheima":
#     print(temp)
# 3.else
# for temp in "itheima":
#     print(temp)
# else:  # 原则: for语句中能正常执行完所有才会执行else   break
#     print("已循环执行结束.")
​
# *4.数字不是序列
# for temp in 100:  # 唯一??  哈希/散列
#     pass
# iterator
# iterable   # 扩展: 迭代、循环、遍历  ====>循环

==总结:==

(1)for与while循环功能类似,且都能完成反复多次执行的效果;

(2)注意:for可以配合else关键字一起使用,这句话正确吗?==A、正确==;B、错误。

嵌套循环

==目标:==了解嵌套循环的使用。

当在while循环内,再包含一个while循环时,则称为嵌套循环。

通俗地说,嵌套循环就是指外层有一个循环,里面再嵌套一个内层循环。

说明:

也可以使用两个for语句形成嵌套语句。

嵌套循环的语法:

初始化变量语句1
while 循环条件1:  # 外层循环
    [循环体语句1]
    初始化变量语句2
    while 循环条件2:  # 内层循环
        循环体语句2
        改变循环条件的语句2
    改变循环条件的语句1

说明:

(1)可以把内层循环当做一个循环的循环体语句来处理;

(2)当外层循环执行一次,内层循环执行所有。

我们已知道,print()输出函数有自动换行的效果,原因是底层源码设置了默认值\n。

函数名含义
print(args, end="\n")用于输出信息内容,默认有换行效果。

说明:

若要取消换行效果,只需把end值修改为其他内容。

一起看看一个统计嵌套循环的执行次数的案例。

请观察代码,并思考:执行次数为多少?

i = 0
while i<3:  # 外层循环
    j = 0
    while j<5:  # 内层循环
        print("Hello World...")
        j += 1
    i += 1

例如,一起来完成:

(1)使用嵌套循环来完成程序;

(2)请使用*代替,并输出一个正方形的显示效果。

# 1.输出行
i = 1
while i <= 5:
    # 2.输出列
    j = 1
    while j <= 5:
        print("*", end="\t")
        j += 1
    print("")
    i += 1

==总结:==

(1)可以使用for或while循环完成嵌套循环,这句话正确吗?==A、正确==;B、错误;

(2)注意:在实际应用中,循环、遍历、迭代,这三个词,都可以表示循环的含义。[思考]

==思考:==例如,一起来完成:

(1)使用嵌套循环来完成程序;

(2)动手实践一个九九乘法表的显示效果。

# 行
i = 1
while i <= 9:
    # 列
    j = 1
    # while j <= 9:
    while j <= i:
        print(f"{j}*{i}={i*j}",end="\t")
        j += 1
    print("")
    i += 1

break语句

==目标:==掌握break语句的使用。

break语句主要是用于终止某个循环语句块的执行。

break语法:

循环语句块
    ……
    break
其他语句

说明:

break会终止循环的执行。

例如,一起来完成:

(1)一次长跑比赛中,体育老师说:本次长跑总共跑50圈,如果有同学跑到第10圈时,感到身体不适,就直接退出比赛;

(2)使用while循环和break模拟长跑效果。

# 1.循环
i = 1
while i <= 50:
    print(f"正在跑第{i}圈...")
    # 2.判断
    if i == 10:
        print("身体不适,直接退出比赛...")
        # 3.退出
        break   # break: 终止   跳过当前循环的整个循环
    i += 1

==总结:==

(1)对于程序里的break,可以简单的理解为()的意思;==A、终止==;B、中断

(2)注意:break语句用于跳出当前的整个循环。

continue语句

==目标:==了解continue语句的简单使用。

continue语句不常使用,表示用于跳过某个循环语句块的一次执行,然后继续执行下一轮的循环。

continue语法:

循环语句块
    ……
    continue
其他语句

说明:

continue会中断循环的一次执行。

例如,一起来完成:

(1)请在输出itheima的单个元素时,如遇字母e,直接跳过且不输出;[后字母]

(2)使用for循环和continue模拟跳过输出的效果。

# 1.定义变量、for语句
strs = "itheima"
for temp in strs:
    print("-----------------------")
    # 2.判断
    if temp == "e":
        # 3.跳过一次执行, 并进入下一次循环
        continue
    print(temp)

==总结:==

(1)continue语句很少使用,表示的是跳过当前循环的一次循环,然后会继续下一轮的循环执行;

(2)注意:break和continue语句只能应用在循环语句中,这句话正确吗?==A、正确==;B、错误。

猜拳游戏案例

随机数的处理

==目标:==了解如何生成随机数?

要完成猜拳游戏程序的编写,优先需要知道怎么生成随机数。

注意:在Python中,要获取随机数值,可以使用生成随机数的random模块:

# 导入模块
import random

random模生成随机数的函数:

函数名含义
randint(a, b)生成随机数,用于返回[a, b]之间的整数,并能取值a和b。

说明:

能同时取值a和b。

例如,一起来完成:

(1)使用random模块来生成一个0-5之间的随机数;

(2)生成一个50-100之间的随机数值;

(3)执行程序,观察效果。

==总结:==

(1)若要生成随机数,可以使用Python的()库;==A、random==;B、math;

(2)注意:当使用randint(a, b)生成随机数时,能同时取值a和b。

猜拳游戏代码编写

==目标:==完成猜拳游戏的代码编写。

首先,一起来了解一下:猜拳游戏规则。有:

(1)玩家输入自己要出的拳,例如石头(1)、剪刀(2)、布(3);

(2)电脑随机出拳,例如电脑可以出:石头、剪刀、布的任意一个;

(3)猜拳游戏的比较胜负规则是:石头能赢剪刀、剪刀能赢布、布能赢石头。

例如,根据游戏规则,一起来完成猜拳游戏的代码编写。

操作步骤:

(1)显示操作界面:石头1  剪刀2  布3
(2)玩家出拳;
(3)电脑要出拳;
(4)判断玩家
    胜利:玩家1  电脑2;  玩家2  电脑3;  玩家3  电脑1;
    平局:玩家1  电脑1;  玩家2  电脑2;  玩家3  电脑3;
    失败:另外的。
import random
​
# 1.显示界面
print("=========猜拳小游戏V1.0===========")
# 5.重复
while True:
    # 2.玩家出拳
    print("可以选择出拳的方式有:")
    print("\t(1)石头")
    print("\t(2)剪刀")
    print("\t(3)布")
    player = int(input("请输入你的出拳:"))
    # 3.电脑
    computer = random.randint(1, 3)
    # 4.判断
    if (player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1):
        print("恭喜你,赢了~~")
    elif player == computer:
        print("平局!!")
    else:
        print("失败了,洗洗手再来一把!!!")
# **6.扩展
"""
    1.玩家和电脑的出拳方式没显示, 该怎么显示出来呢?
    2.想要退出游戏,该怎么办?
"""

==总结:==

(1)在编程时,可以综合运用多个简单知识,并形成一个复杂的程序;

(2)注意:在编写程序前,建议一定要先写一写完成程序的操作步骤。

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

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

相关文章

基于PHP+MySQL组合开发的商城小程序源码系统 附带完整的安装代码包以及搭建教程

系统概述 该商城小程序源码系统采用PHP作为后端开发语言&#xff0c;MySQL作为数据库存储引擎&#xff0c;这是一套成熟且广泛应用的技术组合&#xff0c;能够确保系统的稳定性和扩展性。前端部分则利用Vue.js等现代前端框架实现动态交互&#xff0c;保证用户体验的流畅性。 …

Java | Leetcode Java题解之第141题环形链表

题目&#xff1a; 题解&#xff1a; public class Solution {public boolean hasCycle(ListNode head) {if (head null || head.next null) {return false;}ListNode slow head;ListNode fast head.next;while (slow ! fast) {if (fast null || fast.next null) {return…

人工智能对聊天机器人训练数据的“淘金热”可能会耗尽人类编写的文本

人工智能对聊天机器人训练数据的“淘金热”可能会耗尽人类编写的文本 像ChatGPT这样的人工智能系统可能很快就会耗尽让它们变得更聪明的东西——人们在网上写下和分享的数万亿字。 Epoch AI研究集团发布的一项新研究预计&#xff0c;科技公司将在大约十年之交——2026年至203…

SpringBoot + Maven

文章目录 1、Maven2、SpringBoot3、二者之间的联系4、项目的创建 在创建项目之前&#xff0c;肯定要知道他们之间的区别 1、Maven maven是一个跨平台的项目管理工具。它是Apache的一个开源项目&#xff0c;主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。 比如说…

cordic IP核中,sin and cos的使用

参考视频&#xff1a;FPGA IP之CORDIC_哔哩哔哩_bilibili FPGA IP之CORDIC使用与仿真_哔哩哔哩_bilibili 一、参数说明 functional selection rotate是旋转&#xff0c;sin and cos是计算这两个三角函数&#xff0c;sinh和cosh是计算双曲正弦和双曲余弦 phase format 对于…

Databricks超10亿美元收购Tabular;Zilliz 推出 Milvus Lite ; 腾讯云支持Redis 7.0

重要更新 1. Databricks超10亿美元收购Tabular&#xff0c;Databricks将增强 Delta Lake 和 Iceberg 社区合作&#xff0c;以实现 Lakehouse 底层格式的开放与兼容([1] [2])。 2. Zilliz 推出 Milvus Lite 轻量级向量数据库&#xff0c;支持本地运行&#xff1b;Milvus Lite 复…

【Go语言】面向对象编程(一):类的定义、初始化和成员方法

面向对象编程&#xff08;一&#xff09;&#xff1a;类的定义、初始化和成员方法 1 类的定义和初始化 Go 语言的面向对象编程没有 class 、 extends 、implements 之类的关键字和相应的概念&#xff0c;而是借助结构体来实现类的声明&#xff0c;如下是定义一个学生类的方法…

2024年【危险化学品经营单位主要负责人】免费试题及危险化学品经营单位主要负责人证考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 危险化学品经营单位主要负责人免费试题根据新危险化学品经营单位主要负责人考试大纲要求&#xff0c;安全生产模拟考试一点通将危险化学品经营单位主要负责人模拟考试试题进行汇编&#xff0c;组成一套危险化学品经营…

镜舟科技与喆塔科技签署战略合作协议,共拓工业领域数据应用

近日&#xff0c;镜舟科技与喆塔科技正式签署战略合作协议&#xff0c;旨在通过双方的深度合作&#xff0c;共同推动工业领域企业级数据分析与智能制造的融合创新&#xff0c;携手为行业客户提供更加精准、高效的数据驱动解决方案。 镜舟科技 CEO 孙文现与喆塔科技 CEO 赵文政出…

12.文件

知识点一&#xff1a;文件的存取过程 缓冲区的目的:提高存储效率磁盘使用寿命 知识点二&#xff1a;磁盘文件分类 物理上所有的磁盘文件都是二进制存储&#xff0c;以字节为单位顺序存储 逻辑上的文件分类: 文本文件&#xff1a;基于字符编码的文件&#xff0c;如ASCII、UNICO…

04. fastLED像素参考(颜色设置详解)

fastLED像素参考 原文 Overview 概述 There’s two main pixel types in the library - the CRGB class and the CHSV class. CHSV objects have to be converted to CRGB objects before they can be written out. You can also write CHSV objects into the CRGB array an…

QT6 学生管理系统以及登录(QSQLITE数据库)

一、准备工具以及环境 本文采用的是QT Creator6.5.3版本&#xff0c;代码基于C语言&#xff0c;文中所用到的数据库是QSQLITE库。 因为做的是一个简单的学生管理系统&#xff0c;所以只是做到了简单的对数据库进行增删改查等操作&#xff0c;以及一个简单的登录界面。 二、U…

wgcloud可以监测交换机的哪些数据

WGCLOUD可以监测交换机的cpu&#xff0c;内存&#xff0c;温度&#xff0c;电压&#xff0c;磁盘&#xff0c;流量传输速率等数据 WGCLOUD也是基于SNMP协议来监测交换机的

进口自力式蒸汽减压阀-美国品牌

进口自力式蒸汽减压阀是一种用于蒸汽系统中&#xff0c;通过自身能量来调节和控制蒸汽压力的装置。以下是关于进口自力式蒸汽减压阀的详细回答&#xff1a; 定义与功能&#xff1a; 进口自力式蒸汽减压阀是一种无需外加能源&#xff0c;利用被调介质&#xff08;蒸汽&#xff…

每日一题——Python实现PAT乙级1104 天长地久(举一反三+思想解读+逐步优化)七千字好文

一个认为一切根源都是“自己不够强”的INTJ 个人主页&#xff1a;用哲学编程-CSDN博客专栏&#xff1a;每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 初次尝试 点评 时间复杂度分析 空间复杂度分析 综合分析 我要更强 时间复杂度分…

VitePress+Docker+jenkins构建个人网站

VitePress官网 VitePress | 由 Vite 和 Vue 驱动的静态站点生成器 可以理解为一个前端脚手架:快速生成个人站点 最好先大概看一遍 快速开始 | VitePress 可以在线体验一下 安装条件 node -v 检查下node版本 在D盘创建一个文件夹 例如:VitePress 进入文件夹 cmd npm ini…

一键安全体检!亚信安全携手鼎捷软件推出企业安全体检活动 正式上线

亚信安全联合鼎捷软件股份有限公司&#xff08;以下简称“鼎捷软件”&#xff09;正式推出“一键安全体检”服务。亚信安全网络安全专家将携手鼎捷软件数据安全专家&#xff0c;围绕企业的数智安全状况&#xff0c;进行问题探索与治愈、新问题预测与预警&#xff0c;在全面筛查…

一文入门vim

先来波快问快答。 第一个问题&#xff0c;vim是什么&#xff1f; vim就是一文本编辑器。 第二个问题&#xff0c;我们为什么要使用vim&#xff1f; 好像在终端中可选择使用的文本编辑器也不多&#xff08;其他有&#xff0c;但是相对而言vim用的比较广泛&#xff09; 第三…

外汇天眼:跟单社区or资金盘 几招教你快速识别

今年有不少外汇跟单社区伙同黑平台收割投资人跑路事件&#xff0c;应天眼老粉要求&#xff0c;今天写一篇与跟单社区相关的内容&#xff0c;教大家如何辨别正规的外汇跟单社区与资金盘诈骗。 相信做过几年外汇的人&#xff0c;应该对跟单社区多少有所耳闻。但外汇跟单社区究竟…

使用seq2seq架构实现英译法

seq2seq介绍 模型架构&#xff1a; Seq2Seq&#xff08;Sequence-to-Sequence&#xff09;模型是一种在自然语言处理&#xff08;NLP&#xff09;中广泛应用的架构&#xff0c;其核心思想是将一个序列作为输入&#xff0c;并输出另一个序列。这种模型特别适用于机器翻译、聊天…