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

定义变量存储布尔类型数据:变量名称 = 布尔类型字面量
需知布尔类型不仅可以自行定义同时也可以通过计算的来。 也就是使用比较运算符进行比较运算得到布尔类型的结果。

比较运算符

image-20250707224221529
  1. 在Python中,可以表示真假的数据类型是:

布尔类型,字面量True表示真,字面量False表示假

  1. 除了可以定义布尔类型外,还可以通过_<比较运算符>_计算得到布尔类型
# 定义bool类型数据
a = 3 > 1 # 通过比较运算符
b = True # 通过bool类型字面量
c = False
print(f"a的值是{a},类型是{type(a)}")

if语句

基本格式

掌握逻辑判断语句(if)的基本语法格式------------掌握布尔类型数据,在判断语句中的作用

  1. if语句的基本格式
image-20250707225351678
  1. if语句的注意事项:

•判断条件的结果一定要是布尔类型

•不要忘记判断条件后的: 引号

•归属于if语句的代码块,需在前方填充4个空格缩进 Python 通过缩进判断代码块的归属关系。(相较于C语言中的大括号)

if else 语句

掌握if else 语句的组合用法

image-20250707231223584
  1. if else 语句,其中
  • if和其代码块,条件满足时执行

  • else搭配if的判断条件,当不满足的时候执行

  1. if else语句的注意事项:
  • else的代码块,同样要4个空格作为缩进
if elif else语句

掌握if elif else语句进行多条件判断的语法

image-20250707232113909
  1. if elif else语句的作用是?

可以完成多个条件的判断

  1. 使用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判断语句的终极用法:嵌套使用

image-20250708093505948
  1. 嵌套判断语句可以用于多条件、多层次的逻辑判断

  2. 嵌套判断语句可以根据需求,自由组合if elif else来构建多层次判断

  3. 嵌套判断语句,一定要注意空格缩进,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循环

基础语法
  1. while循环的语法格式
image-20250708100601688
  1. while循环的注意事项
  • 条件需提供布尔类型结果, True 继续, False 停止

  • 空格缩进不能忘(这一点同判断语句)

  • 请规划好循环终止条件,否则将无限循环

i = 0
while i < 100:
    print("xiaomei,I like you!")
    i += 1
嵌套使用及应用

掌握while嵌套循环基本格式

  1. 嵌套循环的语法格式:
image-20250708103043979
  1. 嵌套循环需要注意的地方:
  • 注意条件的控制,避免无限循环

  • 多层嵌套,主要空格缩进来确定层次关系

  1. 嵌套循环的使用难点:
  • 循环条件的控制,层次越多越复杂,需要细心+耐心

掌握使用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循环是一种”轮询”机制,是对一批内容进行”逐个处理”

image-20250708104254317 image-20250708104347391 image-20250708104443192

从待处理数据集中:逐个取出数据 赋值给临时变量

# 定义字符串name
name = ”gulu”
# for循环处理字符串
for x in name: 
       print(x)

'''
输出结果:
g
u
l
u
'''

可以看出,for循环是将字符串的内容:依次取出 所以,for循环也被称之为:遍历循环
同while循环不同,for循环是无法定义循环条件的。只能从被处理的数据集中,依次取出内容进行处理。
所以,理论上讲,Python的for循环无法构建无限循环(被处理的数据集不可能无限大)

range语句

语法中的:待处理数据集,严格来说,称之为:可迭代类型

可迭代类型指,其内容可以一个个依次取出的一种类型,包括:(目前只学习了字符串ovo)

•字符串

•列表

•元组

  1. 语法一:range(num)

    获取一个从0开始,到num结束的数字序列(不含num本身)range(5)取得的数据是:[0, 1, 2, 3, 4]

  2. 语法二:range(num1,num2)

    获得一个从num1开始,到num2结束的数字序列(不含num2本身),range(5, 10)取得的数据是:[5, 6, 7, 8, 9]

  3. 语法三:range(num1,num2,step)

    获得一个从num1开始,到num2结束的数字序列(不含num2本身)数字之间的步长,以step为准(step默认为1)

    ,range(5, 10, 2)取得的数据是:[5, 7, 9]

变量作用域
image-20250708104443192

回看for循环的语法,我们会发现,将从数据集(序列)中取出的数据赋值给:临时变量-----为什么是临时的呢?

临时变量,在编程规范上,作用范围(作用域),只限定在for循环内部

如果在for循环外部访问临时变量:

  • 实际上是可以访问到的

  • 在编程规范上,是不允许、不建议这么做的

如果实在需要在循环外访问循环内的临时变量,可以在循环外预先定义

嵌套使用
image-20250708110453949
  • 需要注意缩进,嵌套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关键字可以控制:它所在的循环永久中断

  1. continue的作用是:

中断所在循环的当次执行,直接进入下一次

  1. break的作用是:

直接结束所在的循环

  1. 注意事项:

•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
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐