第三、四章 if语句 + 循环

第三章  if语句

bool类型

两种:True和False

bool_1 = True
bool_2 = False
print(f"bool_1变量的内容是:{bool_1}," + f"类型是:{type(bool_1)}")
print(f"bool_2变量的内容是:{bool_2}," + f"类型是:{type(bool_2)}")# python中字符串可以直接比较
result = "itcast" == "itheima"
print(f"result变量的内容是:{result}," + f"类型是:{type(result)}")

if else语句

age = int(input("请输入你的年龄:"))if age >= 18 :print("您已成年,需要买票10元")
else:print("您未成年,可以免费游玩")
print("祝您游玩愉快")

输入20:

输入15:

练习案例:我要买票吗?

print("欢迎来到黑马动物园。")
high = int(input("请输入你的身高(cm):"))if high >= 120 :print("您的身高超出120cm,游玩需要购票10元。")
else:print("您的身高未超出120cm,可以免费游玩。")
print("祝您游玩愉快")

输入:130

输入:111

if elif else语句                                                                                         

print("欢迎来到黑马动物园。")if int(input("请输入你的身高(cm):")) < 120 :print("欢迎你小朋友,可以免费游玩。")
elif int(input("请输入你的VIP等级(1-5):")) >3:print("您的VIP等级高于3级,可以免费游玩。")
elif int(input("请告诉我今天几号:")) == 1:print("今天是1号免费日,可以免费游玩。")
else:print("不好意思,条件都不满足,需要买票10元")

练习案例:猜猜心里数字 

target_num = 10if int(input("请输入第一次猜想的数字:")) == 10 :print("猜对啦!")
elif int(input("不对,再猜一次:")) == 10:print("猜对啦!")
elif int(input("不对,再最后猜一次:")) == 10:print("猜对啦!")
else:print(f"Sorry,全部猜错啦,想的是{target_num}")

判断语句的嵌套使用

公司要发礼物,条件是:
1.必须是大于等于18岁小于30岁的成年人
2.同时入职时间需满足大于两年,或者级别大于3才可领取

age = int(input("请输入您的年龄:"))
if age >= 18 :if age < 30:year = int(input("请输入您的入职时间:"))if year > 2:print("快来领取礼物吧!")else:level = int(input("请输入您的级别(1-5):"))if level > 3 :print("快来领取礼物吧!")else:print("Sorry,年龄符合,但入职时间和级别都不符合,不可领取礼物")
else:print("Sorry,未成年不可领取礼物")

   判断语句综合案例 

案例需求:
定义一个数字(1~10,随机产生),通过3次判断来猜出来数
案例要求:
1.数字随机产生,范围1-10
2.有3次机会猜测数字,通过3层嵌套判断实现
3.每次猜不中,会提示大了或小了                 

import random
num = random.randint(1,10)
guess_num = int(input("请输入第一次猜想的数字:"))
if  guess_num == num :print("猜对啦!")
else:if guess_num > num :print("猜大啦!")else:print("猜小啦!")guess_num = int(input("请输入第二次猜想的数字:"))if guess_num == num:print("猜对啦!")else:if guess_num > num:print("猜大啦!")else:print("猜小啦!")guess_num = int(input("请输入第三次猜想的数字:"))if guess_num == num:print("猜对啦!")else:if guess_num > num:print("猜大啦!")else:print("猜小啦!")

                           

第四章 循环

while循环

while基本用法

案例一:求1-100的和 
i = 1
sum = 0
while i < 101:sum += ii += 1
print(f"1到100的和为{sum}")
1到100的和为5050

案例二:猜中1-100内的数字

import random
num = random.randint(1,100)
# 记录猜测次数
count = 1
# 判断循环是否继续的标志
flag = Truewhile flag:guess_num = int(input("请输入你猜的数字:"))if guess_num == num:flag = 0else:if guess_num < num:print("你猜小了")else:print("你猜大了")count += 1
print(f"你猜对了!你一共猜了{count}次")
请输入你猜的数字:59
你猜大了
请输入你猜的数字:25
你猜小了
请输入你猜的数字:37
你猜小了
请输入你猜的数字:45
你猜大了
请输入你猜的数字:38
你猜小了
请输入你猜的数字:40
你猜小了
请输入你猜的数字:43
你猜大了
请输入你猜的数字:41
你猜对了!你一共猜了8次进程已结束,退出代码为 0

while的嵌套

案例三:打印9*9乘法表
# 控制行数并且控制第二个数
i = 1
# 打印九行
while i < 10:# j控制第一个数j = 1while j <= i:print(f"{j}*{i}={j * i}\t", end = '')j += 1i += 1# 这就是输出一个换行的意思print()

注意:

控制print的方法:

(1)不输出换行        print("  ", end = '')

(2)只输出换行        print()

1*1=1	
1*2=2	2*2=4	
1*3=3	2*3=6	3*3=9	
1*4=4	2*4=8	3*4=12	4*4=16	
1*5=5	2*5=10	3*5=15	4*5=20	5*5=25	
1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	
1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	
1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	
1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81	进程已结束,退出代码为 0

案例四:表白100天,每天都送10朵玫瑰花
i = 1
while i < 101:print(f"今天是给小可送花的第{i}天")j = 1while j < 11:print(f"给小可送的第{j}朵花")j += 1i += 1print("小可,我喜欢你!")
print(f"坚持到第{i-1}天,表白成功")
# 截取部分
今天是给小可送花的第100天
给小可送的第1朵花
给小可送的第2朵花
给小可送的第3朵花
给小可送的第4朵花
给小可送的第5朵花
给小可送的第6朵花
给小可送的第7朵花
给小可送的第8朵花
给小可送的第9朵花
给小可送的第10朵花
小可,我喜欢你!
坚持到第100天,表白成功

for循环

形式

        for 临时变量 in 待处理数据集(序列):

                循环满足条件时的代码

注意:临时变量作用域限定在循环内,但不遵守该规则程序也能运行,只是说不规范

基本用法

遍历字符串
name = "itheima"
for x in name:# 将name的内容,逐个取出赋予x临时变量# 在循环体内对x进行处理print(f"{x}")
i
t
h
e
i
m
a进程已结束,退出代码为 0

案例:数一数字符串里有几个a

# 统计a的个数
count = 0
name = "itheima is a brand of itcast"
for x in name:if x == 'a':count += 1print(f"{name}中共含有:{count}个字母a")
itheima is a brand of itcast中共含有:4个字母a
range配合使用
三种语法
语法一:range(num)

描述:从0开始,到num结束(不包含num),数字间隔为1逐个取出

for x in range(10):# 从0开始,到10结束(不包含10),数字间隔为1逐个取出print(f"{x} ", end = '')
0 1 2 3 4 5 6 7 8 9 
进程已结束,退出代码为 0
语法二:range(num1, num2)

描述:从num1开始,到num2结束(不包含num2),数字间隔为1逐个取出

for x in range(1,10):# 从1开始,到10结束(不包含10),数字间隔为1逐个取出print(f"{x} ", end = '')
1 2 3 4 5 6 7 8 9 
进程已结束,退出代码为 0
语法三:range(num1, num2, step)

描述:从num1开始,到num2结束(不包含num2),数字间隔为step逐个取出

for x in range(0,10,2):# 从0开始,到10结束(不包含10),数字间隔为2逐个取出print(f"{x} ", end = '')
0 2 4 6 8 
进程已结束,退出代码为 0

案例一:1到num有几个偶数

import random
num = 100
count = 0
for x in range(1,num):if x%2==0:count += 1
print(f"1到{num} (不含{num}本身)范围内,共有{count}个偶数", end = '')
1到100 (不含100本身)范围内,共有49个偶数
进程已结束,退出代码为 0

案例二:表白100天,每天都送10朵玫瑰花

i = 0
for i in range(1,101):print(f"今天是给小可送花的第{i}天")j = 0for j in range(1,11):print(f"给小可送的第{j}朵花")print("小可,我喜欢你!")
print(f"坚持到第{i}天,表白成功")
今天是给小可送花的第100天
给小可送的第1朵花
给小可送的第2朵花
给小可送的第3朵花
给小可送的第4朵花
给小可送的第5朵花
给小可送的第6朵花
给小可送的第7朵花
给小可送的第8朵花
给小可送的第9朵花
给小可送的第10朵花
小可,我喜欢你!
坚持到第100天,表白成功

案例三:打印9*9乘法表

# 控制行数并且控制第二个数
i = 1
# 打印九行
for i in range(1,10):# j控制第一个数j = 1while j <= i:print(f"{j}*{i}={j * i}\t", end = '')j += 1# 这就是输出一个换行的意思print()
1*1=1	
1*2=2	2*2=4	
1*3=3	2*3=6	3*3=9	
1*4=4	2*4=8	3*4=12	4*4=16	
1*5=5	2*5=10	3*5=15	4*5=20	5*5=25	
1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	
1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	
1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	
1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81	进程已结束,退出代码为 0

continue和break:

continue会跳出本次循环,break会跳出本层循环

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

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

相关文章

解决Selenium元素拖拽不生效Bug

前几天在使用Selenium进行元素拖拽操作时&#xff0c;发现Selenium自带的元素拖拽方法&#xff08;dragAndDrop()&#xff09;不生效&#xff0c;网上的回答也是五花八门&#xff0c;比较混乱&#xff0c;尝试了以下几种方法均无法解决。 方案1&#xff1a;通过dragAndDrop()方…

外部模块介绍(七) 蓝牙HC05

HC05原理图 2. 蓝牙模块的调试 2.1 两种工作模式: HC-05蓝牙串口通讯模块具有两种工作模式:命令响应工作模式和自动连接工作模式。在自动连接工作模式下模块又可分为主(Master)、从(Slave)和回环(Loopback)三种工作角色。 当模块处于自动连接工作模式时,将自动根据事…

二叉树练习day.3

104.二叉树的最大深度 链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 题目描述&#xff1a; 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1&#xff1a; 输入&#xff1a;root…

pygame旋转直线,计算角色到墙距离

pygame怎么计算距离 在Pygame中&#xff0c;计算两点之间的距离可以使用几何公式。给定两点P1(x1, y1)和P2(x2, y2)&#xff0c;距离D可以用以下公式计算&#xff1a; D √((x2 - x1) (y2 - y1)) 在Python中&#xff0c;你可以使用math库中的sqrt函数来计算平方根。以下是一…

34-5 CSRF漏洞 - CSRF分类

环境准备:构建完善的安全渗透测试环境:推荐工具、资源和下载链接_渗透测试靶机下载-CSDN博客 1)GET 类型 传参: 参数连接在URL后面 POC构造及执行流程: 构造URL,诱导受害者访问点击利用利用标签进行攻击: 构造虚假URL,在链接上添加payload抓包获取数据包,通过CSRF POC…

excel散点图怎么每个点添加名称

最终效果图&#xff1a; 添加图标元素->数据标签->其他数据标签选项 选择单元格中的值 手动拖动数据标签&#xff0c;调整到合适的位置。

C语言从入门到实战————编译和链接

目录 前言 1. 翻译环境和运行环境 2. 翻译环境 2.1 预处理&#xff08;预编译&#xff09; 2.2 编译 2.2.1 词法分析&#xff1a; 2.2.2 语法分析 2.2.3 语义分析 2.3 汇编 2.4 链接 3. 运行环境 前言 编译和链接是将C语言源代码转换成可执行文件的必经过程&a…

Java面试八股文(更新中)

Java面试八股文 1. 基础篇1.1 Java语言特点1.2 面向对象和面向过程的区别1.3 八种基本数据类型的大小&#xff0c;以及他们的封装类1.4 标识符的命名规则1.5 instanceof 关键字的作用 ************************************************************* 1. 基础篇 1.1 Java语言特…

【Java网络编程】计算机网络基础概念

就目前而言&#xff0c;多数网络编程的系列的文章都在围绕着计算机网络体系进行阐述&#xff0c;但其中太多理论概念&#xff0c;对于大部分开发者而言&#xff0c;用途甚微。因此&#xff0c;在本系列中则会以实际开发者的工作为核心&#xff0c;从Java程序员的角度出发&#…

测试自动化流程设计思路

a) 背景介绍 基于当前互联网敏捷开发的现状&#xff0c;手工人力测试已不足以满足当前快速的版本迭代&#xff1b;以下将介绍一种可实现的自动化设计与使用。 b) 当前版本迭代流程 研发同学从代码库master分支拉出新代码进行研发工作得开发开发完成之后提交到代码库测试同学介入…

ES入门十一:正排索引和倒排索引

索引本质上就是一种加快检索数据的存储结构&#xff0c;就像书本的目录一下。 为了更好的理解正排索引和倒排索引&#xff0c;我们借由一个 **唐诗宋词比赛&#xff0c;**这个比赛一共有两个项目&#xff1a; 给定诗词名称&#xff0c;背诵整首给诗词中几个词语&#xff0c;让…

构建第一个ArkTS用的资源分类与访问

应用开发过程中&#xff0c;经常需要用到颜色、字体、间距、图片等资源&#xff0c;在不同的设备或配置中&#xff0c;这些资源的值可能不同。 应用资源&#xff1a;借助资源文件能力&#xff0c;开发者在应用中自定义资源&#xff0c;自行管理这些资源在不同的设备或配置中的表…

男生穿什么裤子显腿长?男生显腿长裤子分享

现在市面上出现很多劣质而且不耐洗不耐穿的裤子&#xff0c;不但穿着体验感差&#xff0c;而且还可能会对皮肤有影响。为此作为一名穿搭博主&#xff0c;我专门做了这篇关于男生裤子的测评&#xff0c;希望大家能够通过一下的科普知识&#xff0c;对选择裤子有更详细的了解。 什…

CDN加速原理那些事

名词解释 CNAME记录&#xff08;CNAME record&#xff09; CNAME即别名( Canonical Name )&#xff1b;可以用来把一个域名解析到另一个域名&#xff0c;当 DNS 系统在查询 CNAME 左面的名称的时候&#xff0c;都会转向 CNAME 右面的名称再进行查询&#xff0c;一直追踪到最后…

创建型模式--4.抽象工厂模式【弗兰奇一家】

1. 奔向大海 在海贼世界中&#xff0c;位于水之都的弗兰奇一家是由铁人弗兰奇所领导的以拆船为职业的家族&#xff0c;当然了他们的逆向工程做的也很好&#xff0c;会拆船必然会造船。船是海贼们出海所必备的海上交通工具&#xff0c;它由很多的零件组成&#xff0c;从宏观上看…

算法:完全背包问题dp

文章目录 一、完全背包问题的特征二、定义状态三、状态转移四、降维优化五、参考例题5.1、Acwing&#xff1a;3.完全背包问题5.2、Acwing&#xff1a;900. 整数划分 一、完全背包问题的特征 完全背包问题是动态规划中的一种经典问题&#xff0c;它的主要特征可以总结如下&…

[HackMyVM]靶场Flossy

难度:Medium kali:192.168.56.104 靶机:192.168.56.142 端口扫描 ┌──(root㉿kali2)-[~/Desktop] └─# nmap 192.168.56.142 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-01 21:01 CST Nmap scan report for 192.168.56.142 Host is up (0.00018s latency).…

聊聊Linux内核中内存模型

介绍 在Linux中二进制的程序从磁盘加载到内存&#xff0c;运行起来后用户态是使用pid来唯一标识进程&#xff0c;对于内核都是以task_struct表示。二进制程序中的数据段、代码段、堆都能提现在task_struct中。每一个进程都有自己的虚拟地址空间&#xff0c;虚拟地址空间包含几…

stack和queue的使用

前言 前面我们对string、vector、list做了介绍并对底层进行了实现&#xff01;本期我们继续来介绍STL容器&#xff0c;stack和queue&#xff01; 本期内容介绍 stack 常用接口的介绍 queue 常用接口的介绍 什么是stack? 这里的栈和我们C语言实现的数据结构的那个栈功能是一样…

leetcode代码记录(最长连续递增序列

目录 1. 题目&#xff1a;2. 我的代码&#xff1a;小结&#xff1a; 1. 题目&#xff1a; 给定一个未经排序的整数数组&#xff0c;找到最长且 连续递增的子序列&#xff0c;并返回该序列的长度。 连续递增的子序列 可以由两个下标 l 和 r&#xff08;l < r&#xff09;确定…