python基础知识(四)--if语句,for\while循环

news2024/12/23 4:43:07

目录

if语句

if-else语句

if...elif...else...语句的语法

if嵌套语句语法

while循环

死循环

for循环

例题:

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

2.逢7必过的游戏

3.九九乘法表

4.案例: 逢七必过游戏 [0, 999] 碰到特殊天气, 150 就结束1 2 3 4 5 6 8 9 10 11 12 13 15 16 18 ... ...

5.猜数字游戏

Python中有三大基本语句,它们支撑起了程序的业务逻辑处理。

三大基本语句有:

(1)顺序语句

(2)分支语句

(3)循环语句

1)顺序语句

顺序语句指的是:让代码按照顺序从上往下、一行一行的执行代码。

2)分支语句

分支语句指的是:程序在遇到不同条件时,要做判断处理。例如当条件成立,则执行代码A;当条件不成立,则执行代码B。

3)循环语句

循环语句指的是:反复多次执行地执行某操作。

另外的,也可以设定终止循环的关键字。

if语句

if 条件: 
   条件成立时,要做的事情

if-else语句

if 条件:
        满足条件时,要做的事情1
        满足条件时,要做的事情2
        满足条件时,要做的事情3
        ...(省略)...
else:
        不满足条件时,要做的事情1
        不满足条件时,要做的事情2
        不满足条件时,要做的事情3
        ...(省略)...

if...elif...else...语句的语法

if 条件1:
        满足条件1,执行代码1
        ...
elif 条件2:
        满足条件2,执行代码2
        ...
elif 条件3:
        满足条件3,执行代码3
        ...
...

if嵌套语句语法

if 条件1:
        满足条件1,做的事情1
        满足条,1,做的事情2
        ...
        if 条件2:
                满足条件2,做的事情1
                满足条件2,做的事情2
                ...

说明:

当成功满足外层的if条件执行后,才能执行内层的if语句。

while循环

初始化变量语句
while 循环条件:
    循环体语句
    改变循环条件的语句  # 先写

例如,一起来完成:

(1)计算10 ~ 100之间所有自然数的和(包含10和100);

(2)分别使用正常和逆向思维来完成。

# 正常
total_sum = 0
i = 10
while i <= 100:
    # print(i)
    total_sum += i
    i += 1
print(f"求和为:{total_sum}")

# 逆向
 sum = 0
 j = 100
 while j >= 10:
     sum += j
     j -= 1
 print(f"求和为:{sum}")

死循环

死循环也称为无限循环,指的是程序代码一直执行,不会停止。

产生死循环的情况有:

(1)缺少了:改变循环条件的语句;
(2)误写了:循环条件;
(3)标准的死循环格式。

接下来,先来看看标准的死循环格式。

while True:
        代码1
        代码2
        ...

for循环

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

for语法:

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

for循环里常见的序列range()函数

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

说明:

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

嵌套循环的语法:

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

说明:

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

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

例题:

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

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

2.逢7必过的游戏

if条件判断,while循环

i=1
while i<=999:
    if i%7==0 or i%10==7 or i//10%10==7 or i//100%10==7:
        print('过')
    else:
        print(i)
    i+= 1

3.九九乘法表

for、while的两种实现:

#for循环
for i in range(1, 10):
    for j in range(1, i+1):
        print(f"{j} * {i} = {i * j}",end='\t')
    print()

# 方案二 while循环
 i = 1
 while i<=9:

     j = 1
     while j<=i:
         print(j, '列', end='\t')
         j=j+1

     print(i, '行')
     i += 1

4.案例: 逢七必过游戏 [0, 999] 碰到特殊天气, 150 就结束
1 2 3 4 5 6 8 9 10 11 12 13 15 16 18 ... ...

(为了练习循环 break--continue)

# 案例2: 逢七必过游戏 [0, 999] 碰到特殊天气, 150 就结束
# 1 2 3 4 5 6 8 9 10 11 12 13 15 16 18 ... ...
#  方式一
 for i in range(1000):
     if i%7==0 or i//100%10==7 or i//10%10==7 or i%10==7:
         continue # 跳过本次循环

     print(i)

     # print(i, i%7, i//100%10, i//10%10, i%10)

     if i==150:
         break

#方式二
i=0
while i<=999:
    if i%7==0 or i//100%10==7 or i//10%10==7 or i%10==7:
        i+=1
        continue
    print(i)

    if i==150:
        break
    i += 1

random模生成随机数的函数:

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

说明:

能同时取值a和b。

5.猜数字游戏

目标: 猜数字游戏
"""
1 电脑生成一个随机数 [1, 100]
2 死循环
    2.1 用户输入一个猜的数字
    2.2 对比
    2.2.1 大了
    2.2.2 小了
    2.2.3 猜对了 结束
"""

import random

computer = int(random.randint(1, 100))
while True:

    user=int(input('请输入你猜的数字:\t'))

    if user >computer:
        print('大了')
    elif user<computer:
        print('小了')
    else:
        print('猜对了')
        break

快快动手实践吧~

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

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

相关文章

停车位检测-停车场车位识别

YOLO Parking Spot 概述 停车场获取的图像训练了四个YOLO模型来检测车辆。目标是收集信息&#xff0c;并可能开发一种停车解决方案以改善交通流量并优化空间利用率。通过识别汽车&#xff0c;我们生成了一份报告&#xff0c;其中包含图像细节&#xff0c;如可用停车位的数量、…

Ai+若依(智能售货机运营管理系统---帝可得)--工单管理【08篇---0005:工单管理】

工单管理 需求说明 工单是一种专业名词,是指用于记录、处理、跟踪一项工作的完成情况。 管理人员登录后台系统选择创建工单,在工单类型里选择合适的工单类型,在设备编号里输入正确的设备编号。 工作人员在运营管理App可以看到分配给自己的工单,根据实际情况选择接收工单并…

复现PointNext代码

一、首先第一步&#xff0c;我们就需要下载代码&#xff1a;guochengqian/PointNeXt: [NeurIPS22] PointNeXt: Revisiting PointNet with Improved Training and Scaling Strategies (github.com) 二、然后下载好了之后&#xff0c;然后最关键的一点&#xff0c;这个点进去也要…

【LeetCode每日一题】2024年9月第二周(上)

2024.9.9 中等 难度评分 1333 链接&#xff1a;2181. 合并零之间的节点 &#xff08;1&#xff09;题目描述&#xff1a; &#xff08;2&#xff09;示例 &#xff08;3&#xff09;分析 整体来说&#xff0c;描述还算清晰的题目&#xff0c;找到0节点所框定的区域&#xff0c…

起重机检测系统源码分享

起重机检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Visio…

@Valid @NotBlank @NotEmpty @NotNull不生效问题

Spring Boot2.3版本将不再内部依赖validator了 所以导致校验的注解不生效 解决方案&#xff1a;加入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId> </dependency&…

C++提高--模板(类模板/函数模板)

模板的概念 函数模板(将类型参数化) 函数模板语法 两个函数逻辑非常相似 #define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std; // 模板// 交换两个数 void swapInt(int& a, int& b) {int temp a;a b;b temp; } void swapDouble(doubl…

力扣121-买卖股票的最佳时机(Java详细题解)

题目链接&#xff1a;121. 买卖股票的最佳时机 - 力扣&#xff08;LeetCode&#xff09; 前情提要&#xff1a; 因为本人最近都来刷dp类的题目所以该题就默认用dp方法来做。 dp五部曲。 1.确定dp数组和i下标的含义。 2.确定递推公式。 3.dp初始化。 4.确定dp的遍历顺序。…

踩最深的坑,教会自己找到需求

目录 引言 1. 寻找合适的需求 2. 海外市场选择 3. 线下热点判断 4. 线上关注度分析 5. 当前竞争分析 6. 未来潜力分析 引言 在经历了刻骨铭心的合伙创业经历后&#xff0c;我意识到是时候该独立出海了。 捡起早已深埋在心里的创业想法&#xff0c;开始独自创业。 这次…

用“女神的一群舔狗”的例子深入理解线程池

假如有一个妹子&#xff08;肤白貌美身材好&#xff09; 同一时间只能谈一个对象&#xff0c;但是新鲜感过去之后就没什么意思了&#xff0c;就想换个对象&#xff0c;但是更换对象的操作效率比较低&#xff0c;需要做到&#xff1a; 1. 想办法和现有对象分手 2.吸引到下一个舔…

高低压配电系统中电弧光的危害有多大?

摘要 故障电弧是一种常见的电气故障现象&#xff0c;尤其在配电系统中&#xff0c;可能对设备安全和电力供应造成严重影响。本文旨在探讨故障电弧对配电系统的危害&#xff0c;并提出相应的预防措施&#xff0c;以增强系统的可靠性和安全性。通过对故障电弧的形成机制、危害分…

软件设计师试题

1、以下关于RISC&#xff08;精简指令集计算机&#xff09;特点的叙述中&#xff0c;错误的是&#xff08; B &#xff09;。 A.对存储器操作进行限制&#xff0c;使控制简单化 B.指令种类多&#xff0c;指令功能强 C.设置大量通用寄存器 D.选取使用频率较高的一些指令&…

利用Python快速提取字体子集

来自&#xff1a;Python大数据分析 费弗里 在我们日常进行数据可视化、web应用开发等场景中&#xff0c;经常会用到一些特殊的非系统自带字体&#xff0c;尤其是中文字体&#xff0c;由于包含的字符数量众多&#xff0c;因此体积一般都比较大&#xff0c;这在进行数据可视化读取…

C++当中的继承

在C当中继承是一个非常重要的语法。我们可以使用继承快速的进行代码的复用以及对代码进行扩展操作。首先我们来进行学习继承的基本语法。 &#xff08;一&#xff09;继承的语法方式 还记得我们之前学习的访问限定符吗&#xff1f;就是class里面的private&#xff0c;public&am…

直播间没有自然流,如何突破?

如果你的直播间完全没有自然流量&#xff0c;不用担心&#xff0c;有四种方法可以解决这个问题。 第一种方法是延长直播时长。如今的账号系统与以前不同&#xff0c;现在自然流量非常珍贵。以前&#xff0c;新账号即使没有数据&#xff0c;平台也会给一些流量&#xff0c;但现在…

校园管理新篇章:Spring Boot系统实现策略

第3章 系统分析 3.1 需求分析 校园管理系统主要是为了提高用户的工作效率和更方便快捷的满足用户&#xff0c;更好存储所有数据信息及快速方便的检索功能&#xff0c;对系统的各个模块是通过许多今天的发达系统做出合理的分析来确定考虑用户的可操作性&#xff0c;遵循开发的系…

jmeter设置全局token

1、创建setup线程&#xff0c;获取token的接口在所有线程中优先执行&#xff0c;确保后续线程可以拿到token 2、添加配置原件-Http信息头管理器&#xff0c;添加取样器-http请求 配置好接口路径&#xff0c;端口&#xff0c;前端传参数据&#xff0c;调试一下&#xff0c;保证获…

2024社群空间站全自动付费进群系统九块九进群源码

多种玩法&#xff1a;付费VIP玩法、同城行业群裂变玩法、全民K歌群裂变玩法、拼多多群玩法、VIP领取百度网盘资料玩法、单群付费玩法;

WTL580-电子锁微波雷达应用解决方案,5.8GHz精准人体感知,触发高效交互新体验

一、简介 随着智能电子门锁普及&#xff0c;电子门锁的市场也随着打开&#xff0c;安装智能化电子门锁也为大势所趋。现我司推出基于WTL580微波雷达的电子锁应用方案&#xff0c;通过检测门锁周围是有活动人体存在来激活门锁。我司WTL580微波雷达方案采用5.8GHz微米波雷达传感器…

mac系统安装最新(截止2024.9.13)Oracle JDK操作记录

文章目录 下载JDK22配置环境变量验证环境变量是否生效整体命令如下 下载JDK22 打开最新版Oracle JDK下载地址 选择想要安装的JDK版本&#xff0c;然后选择适合兼容Mac机器的版本&#xff08;Intel/arm&#xff09;&#xff0c;建议直接下载安装程序&#xff0c;可视化安装 默…