2025暑假学习-python(2)
Python
---
markmap:
zoom: false
pan: false
height: 300px
backgroundColor: "#f8f8f8"
---
# Python
## 判断语句
### 布尔类型和比较运算符
### if语句
#### 基本格式
#### if else 语句
#### if elif else语句
### **if的嵌套**
### 练习题目
#### 练习案例:成年人判断
#### 练习案例:我要买票吗
#### 猜猜心里数字
## 循环语句
### while循环
#### 基础语法
#### 嵌套使用及应用
### for循环
#### 基础语法
#### range语句
#### 变量作用域
#### 嵌套使用
### 循环中断 : break和continue
### 练习题目
#### 求1-100的和
#### 猜数字
#### 数一数有几个a
#### 有几个偶数
#### 发工资
文章目录
判断语句
判断是程序最基础 最核心的逻辑功能
布尔类型和比较运算符
掌握布尔类型用于表示:真和假
掌握比较运算符用于计算:真和假
布尔(bool)表达现实生活中的逻辑,即真和假
-
True表示真,True本质上是一个数字记作1
-
False表示假,,False记作0
定义变量存储布尔类型数据:变量名称 = 布尔类型字面量
需知布尔类型不仅可以自行定义,同时也可以通过计算的来。 也就是使用比较运算符进行比较运算得到布尔类型的结果。
比较运算符
- 在Python中,可以表示真假的数据类型是:
布尔类型,字面量True表示真,字面量False表示假
- 除了可以定义布尔类型外,还可以通过_<比较运算符>_计算得到布尔类型
# 定义bool类型数据
a = 3 > 1 # 通过比较运算符
b = True # 通过bool类型字面量
c = False
print(f"a的值是{a},类型是{type(a)}")
if语句
基本格式
掌握逻辑判断语句(if)的基本语法格式------------掌握布尔类型数据,在判断语句中的作用
- if语句的基本格式
- if语句的注意事项:
•判断条件的结果一定要是布尔类型
•不要忘记判断条件后的: 引号
•归属于if语句的代码块,需在前方填充4个空格缩进 Python 通过缩进判断代码块的归属关系。(相较于C语言中的大括号)
if else 语句
掌握if else 语句的组合用法
- if else 语句,其中
-
if和其代码块,条件满足时执行
-
else搭配if的判断条件,当不满足的时候执行
- if else语句的注意事项:
- else的代码块,同样要4个空格作为缩进
if elif else语句
掌握if elif else语句进行多条件判断的语法
- if elif else语句的作用是?
可以完成多个条件的判断
- 使用if elif else的注意点有:
•elif可以写多个
•判断是互斥且有序的,上一个满足后面的就不会判断了
•可以在条件判断中,直接写input语句,节省代码量
age = int(input("Please input your age: "))
vip_level = int(input("Please input your vipLevel: "))
if age < 18:
# if int(input("Please input your age: ")) < 18:
print("You are still a child. It's free for you")
elif vip_level > 3:
# elif int(input("Please input your vipLevel: ")) > 3:
print("You are a fabulous vip. Tt's free for you")
else:
print("Sorry. You need to pay 10 yuan for an additional ticket")
print("Have Fun")
if的嵌套
掌握Python判断语句的终极用法:嵌套使用
-
嵌套判断语句可以用于多条件、多层次的逻辑判断
-
嵌套判断语句可以根据需求,自由组合if elif else来构建多层次判断
-
嵌套判断语句,一定要注意空格缩进,Python通过空格缩进来决定层次关系
练习题目
练习案例:成年人判断
'''
结合前面学习的input输入语句,完成如下案例:
1.通过input语句,获取键盘输入,为变量age赋值。(注意转换成数字类型)
2.通过i判断是否是成年人,满足条件则输出提示信息,如下:
欢迎来到儿童游乐场,儿童免费,成人收费。
请输入你的年龄:30
您已成年,游玩需要补票10元。
祝您游玩愉快。
'''
print(f"Welcome to Children's Playground. "
f"It's free for children and charged for adults.")
age = int(input("Please input your age: "))
if age >= 18:
print(f"您已成年,游玩需要补票10元。")
print(f"Have fun")
练习案例:我要买票吗
'''
通过input语句获取键盘输入的身高
判断身高是否超过120cm,并通过print给出提示信息。
欢迎来到黑马动物园。
请输入你的身高(cm):130
您的身高超出120cm,游玩需要够票10元。
祝您游玩愉快。
欢迎来到黑马动物园。
请输入你的身高(cm):111
您的身高未超出120cm,可以免费游玩。
祝您游玩愉快。
'''
print("Welcome to the background")
height = int(input("Please input your height: "))
if height > 120:
print(f"If your height exceeds 120cm, you need to pay 10 yuan for a ticket to visit.")
else:
print("If your height does not exceed 120cm, you can play for free.")
print("Have fun")
猜猜心里数字
'''
1.定义一个变量,数字类型,1-10。
2.基于input语句输入猜想的数字,通过if和多次elif的组合,判断猜想数字是否和心里数字一致。最多猜测三次
3.每次猜不中,会提示大了或小了
'''
import random
guess_num = random.randint(1,10) # 还未涉及,先会调用即可
num = int(input("Please input the first num you guess: "))
if num != guess_num:
if num > guess_num:
print("bigger")
else:
print("smaller")
num = int(input("Guess one again: "))
# 猜第二次
if num != guess_num:
if num > guess_num:
print("bigger")
else:
print("smaller")
num = int(input("Guess one last time: "))
# 猜第三次
if num != guess_num:
print("Defeat")
else:
print("Congratulations! You guessed it right the last time")
else:
print(" Congratulations! You guessed it right the first time")
else:
print(" Congratulations! You guessed it right the first time")'''
# 法二
"""
演示判断语句的实战案例:终极猜数字
"""
# 1. 构建一个随机的数字变量
import random
num = random.randint(1, 10)
guess_num = int(input("输入你要猜测的数字:"))
# 2. 通过if判断语句进行数字的猜测
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:
print("三次机会用完了,没有猜中。")
循环语句
循环普遍存在于日常生活中,循环同样是程序最基础 最核心的逻辑功能
while循环
基础语法
- while循环的语法格式
- while循环的注意事项
-
条件需提供布尔类型结果, True 继续, False 停止
-
空格缩进不能忘(这一点同判断语句)
-
请规划好循环终止条件,否则将无限循环
i = 0
while i < 100:
print("xiaomei,I like you!")
i += 1
嵌套使用及应用
掌握while嵌套循环基本格式
- 嵌套循环的语法格式:
- 嵌套循环需要注意的地方:
-
注意条件的控制,避免无限循环
-
多层嵌套,主要空格缩进来确定层次关系
- 嵌套循环的使用难点:
- 循环条件的控制,层次越多越复杂,需要细心+耐心
掌握使用while嵌套循环,打印九九乘法表
print("Hello") # 自动换行
print("Hello",end='') #在print语句中,加上end=’!即可输出不换行了
# 在字符串中,有一个特殊符号:\t,效果等同于在键盘上按下:tab键。
# 它可以让我们的多行字符串进行对齐。
'''
while循环使用 99乘法表
'''
i = 1
while i <= 9:
j = 1
while j <= i:
print(f"{j}*{i}={j*i}\t",end='')
j += 1
i += 1
print()
for循环
基础语法
除了while循环语句外,Python同样提供了for循环语句。两者能完成的功能基本差不多,但仍有一些区别:
-
while循环的循环条件是自定义的,自行控制循环条件
-
for循环是一种”轮询”机制,是对一批内容进行”逐个处理”
从待处理数据集中:逐个取出数据 赋值给临时变量
# 定义字符串name
name = ”gulu”
# for循环处理字符串
for x in name:
print(x)
'''
输出结果:
g
u
l
u
'''
可以看出,for循环是将字符串的内容:依次取出 所以,for循环也被称之为:遍历循环
同while循环不同,for循环是无法定义循环条件的。只能从被处理的数据集中,依次取出内容进行处理。
所以,理论上讲,Python的for循环无法构建无限循环(被处理的数据集不可能无限大)
range语句
语法中的:待处理数据集,严格来说,称之为:可迭代类型
可迭代类型指,其内容可以一个个依次取出的一种类型,包括:(目前只学习了字符串ovo)
•字符串
•列表
•元组
-
语法一:range(num)
获取一个从0开始,到num结束的数字序列(不含num本身)如range(5)取得的数据是:[0, 1, 2, 3, 4]
-
语法二:range(num1,num2)
获得一个从num1开始,到num2结束的数字序列(不含num2本身)如,range(5, 10)取得的数据是:[5, 6, 7, 8, 9]
-
语法三:range(num1,num2,step)
获得一个从num1开始,到num2结束的数字序列(不含num2本身)数字之间的步长,以step为准(step默认为1)
如,range(5, 10, 2)取得的数据是:[5, 7, 9]
变量作用域
回看for循环的语法,我们会发现,将从数据集(序列)中取出的数据赋值给:临时变量-----为什么是临时的呢?
临时变量,在编程规范上,作用范围(作用域),只限定在for循环内部
如果在for循环外部访问临时变量:
-
实际上是可以访问到的
-
在编程规范上,是不允许、不建议这么做的
如果实在需要在循环外访问循环内的临时变量,可以在循环外预先定义
嵌套使用
-
需要注意缩进,嵌套for循环同样通过缩进确定层次关系
-
for循环和while循环可以相互嵌套使用
# 使用for打印九九乘法表,可以看出更加简便
for x in range(1,10):
for y in range(1,x+1):
print(f"{y}*{x}={x*y}\t",end = '')
print()
循环中断 : break和continue
思考:无论是while循环或是for循环,都是重复性的执行特定操作。在这个重复的过程中,会出现一些其它情况让我们不得不:
-
暂时跳过某次循环,直接进行下一次
-
提前退出循环,不在继续
对于这种场景,Python提供continue和break关键字
用以对循环进行临时跳过和直接结束
continue关键字只可以控制:它所在的循环临时中断
break关键字可以控制:它所在的循环永久中断
- continue的作用是:
中断所在循环的当次执行,直接进入下一次
- break的作用是:
直接结束所在的循环
- 注意事项:
•continue和break,在for和while循环中作用一致
•在嵌套循环中,只能作用在所在的循环上,无法对上层循环起作用
练习题目
求1-100的和
i = 1
sum = 0
while i<=100:
sum += i
i += 1 # 要有,不然陷入无线循环,没有输出结果
print(f"1-100的和为{sum}")
猜数字
'''
设置一个范围1-100的随机整数变量,通过while循环,配合input语句,判断输入的数字是否等于随机数
无限次机会,直到猜中为止
每一次猜不中,会提示大了或小了继续猜
猜完数字后,提示猜了几次
'''
import random
num = random.randint(1,100)
guess_num = int(input("Plese guess the first time: "))
i = 1
while num != guess_num:
if num > guess_num:
print("bigger")
else:
print("smaller")
guess_num = int(input("Plese guess again: "))
i += 1
print(f"You guessed it right after a total of {i} times. You're so great")
数一数有几个a
name = "itheima is a brand of itcast"
count = 0
for tmp in name:
if tmp == 'a':
count += 1
print(f"{name}中共有{count}个a")
有几个偶数
import random
num = random.randint(1,100)
count = 0
for x in range(1,num):
if x % 2 ==0:
count += 1
print(f"From 1 to {num},there is {count} even number")
发工资
'''
某公司,账户余额有1W元,给20名员工发工资。
员工编号从1到20,从编号1开始,依次领取工资,每人可领取1000元
领工资时,财务判断员工的绩效分(1-10)(随机生成),如果低于5,不发工资,换下一位
如果工资发完了,结束发工资。
提示:
continue用于跳过员工,break直接结束发工资
if判断余额,不要忘记发完工资后,余额减少1000哦
'''
import random
firm_money = 10000
for employee in range(1,21):
employee_score = random.randint(1,10)
if employee_score < 5:
continue
if firm_money >= 1000:
firm_money -= 1000
print(f"向员工{employee}发放工资1000元,账户余额还剩余{firm_money}元")
else:
print(f"工资发完了,下个月领取吧。")
break
更多推荐
所有评论(0)