Python基本语法2_语句相关
目录
一、判断语句
1.1 布尔类型和比较运算符
布尔类型的字面量:True(真)、False(假)
定义变量存储布尔类型数据:变量名称 = 布尔类型字面量
布尔类型不仅可以自定义,同时也可以通过计算得到(使用比较运算符进行比较运算可得到布尔类型的结果)
比较运算符
运算符 | 描述 |
---|---|
== | 判断内容是否相等,满足为true,不满足为false |
!= | 判断内容是否不相等,满足为true,不满足为false |
> | 判断运算符左侧内容是否大于右侧,满足为true,不满足为false |
< | 判断运算符左侧内容是否小于右侧,满足为true,不满足为false |
>= | 判断运算符左侧内容是否大于等于右侧,满足为true,不满足为false |
<= | 判断运算符左侧内容是否小于等于右侧,满足为true,不满足为false |
1.2 if语句的基本结构
- if语句的基本格式:
if 要判断的条件:
条件成立时要做的事情
- if语句的注意事项:
- 判断条件的结果一定要是布尔类型
- 不要忘记判断条件后的冒号:
- 归属于if语句的代码块,需要在前方填充4个空格缩进
1.3 if else 语句
- 语句的基本格式:
if 要判断的条件:
条件成立时要做的事情
else:
条件未完成时要做的事情
- 语句的注意事项
- else之后,不需要判断条件
- 和if的代码块一样,else的代码块同样需要4个空格作为缩进
1.4 if else else 语句
- 语句的基本格式:
if 条件1:
条件1满足时要完成的事情
elif 条件2:
条件2满足时要完成的事情
elif 条件3:
条件3满足时要完成的事情
- 语句的作用:可以完成多个条件的判断
- 语句的注意事项:
- elif语句可以写多个
- 判断是互斥且有顺序的
- 空格缩进同样不可省略
- 可以在判断条件中直接写input语句,节省代码量
1.5 判断语句的嵌套
- 使用场景:不仅仅是多个并列条件,还会有满足前置条件才会二次判断的多层判断需求
- 嵌套的关键点在于:空格缩进;通过空格缩进来决定语句之间的层次关系
- 嵌套判断语句可以用于多条件、多层次的逻辑判断
- 嵌套判断语句可以根据需求,自由组合if elif else来构建多层次判断
- 嵌套判断语句,一定要注意空格缩进,python通过空格缩进决定层次关系
1.6 代码示例
# 生成1-10之内的随机数num
import random
num = random.randint(1, 10)
# 猜数过程
num1 = int(input("请输入您猜测的数字:"))
if num1==num:
print("恭喜您!第一次猜对了!")
elif num1>num:
print("您猜测的数字太大了。")
num2 = int(input("请输入您猜测的数字:"))
if num2== num:
print("恭喜您!第二次猜对了!")
elif num2 > num:
print("您猜测的数字太大了。")
num3 = int(input("请输入您猜测的数字:"))
if num3 == num:
print("恭喜您!第三次猜对了!")
elif num3 > num:
print("您猜测的数字太大了。")
else:
print("您猜测的数字太小了。")
else:
print("您猜测的数字太小了。")
num3 = int(input("请输入您猜测的数字:"))
if num3 == num:
print("恭喜您!第三次猜对了!")
elif num3 > num:
print("您猜测的数字太大了。")
else:
print("您猜测的数字太小了。")
else:
print("您猜测的数字太小了。")
num2 = int(input("请输入您猜测的数字:"))
if num2 == num:
print("恭喜您!第二次猜对了!")
elif num2 > num:
print("您猜测的数字太大了。")
num3 = int(input("请输入您猜测的数字:"))
if num3 == num:
print("恭喜您!第三次猜对了!")
elif num3 > num:
print("您猜测的数字太大了。")
else:
print("您猜测的数字太小了。")
else:
print("您猜测的数字太小了。")
num3 = int(input("请输入您猜测的数字:"))
if num3 == num:
print("恭喜您!第三次猜对了!")
elif num3 > num:
print("您猜测的数字太大了。")
else:
print("您猜测的数字太小了。")
二、 循环语句
2.1 while循环
2.1.1 while循环的基础语法
- 语句的基础语法:
while 条件:
条件满足时要做的事情
- 只要条件满足,会无限循环执行
- 注意点:
- while的条件需得到布尔类型,true表示继续循环,false表示结束循环
- 需要设置循环终止的条件,否则将无限循环
- 空格缩进和if判断一样,都需要设置
2.1.2 while循环的基础案例
# 生成1-100之内的随机数
import random
num = random.randint(1, 100)
# 猜数过程
n = int(input("请输入您猜测的数字:"))
while n != num:
if n>num:
print("你猜的数字太大了。")
else:
print("你猜的数字太小了。")
n = int(input("请输入您猜测的数字:"))
print("恭喜猜对啦!")
2.1.3 while循环的嵌套应用
- 循环内套循环
- 嵌套循环语法格式:
while 条件1:
条件1满足时要完成的事情
...
while 条件2:
条件2满足时要完成的事情
...
- 注意点:
- 同判断语句的嵌套一样,循环语句的嵌套要注意空格缩进(基于空格缩进来决定层次关系)
- 注意条件的设置,避免出现无限循环
- 难点:循环条件的设置,层次越多越复杂,需要细心+耐心
2.1.4 while循环的嵌套案例
i = 1
j = 1
while i <= 9:
j = 1
while j <= i:
print("{}*{}={:2}".format(i, j, i*j), end=" ")
j += 1
print("")
i += 1
- 默认print语句输出内容会自动换行,若要实现不换行的效果,可在猴面加上end=“”(如上,第六行)
2.2 for循环
2.2.1 for循环的基础语法
- 基础语法
-
与while循环语句的区别:
- while循环的循环条件是自定义的,自动控制循环条件
- for循环是一种“轮询”机制,是对一批内容进行“逐个处理”
- 同while循环不同,for循环是无法定义循环条件的,只能从被处理的数据集中,依次取出内容进行处理
-
语法格式:
for 临时变量 in 待处理数据集(序列):
循环满足条件时执行的代码
- 注意点:
- 无法定义循环条件,只能被动取出数据处理
- 要注意,循环内的语句,需要有空格缩进
- 示例:
str = input("请输入字符串:")
cnt = 0
for c in str:
if c == 'a':
cnt += 1
print("一共有{}个a".format(cnt))
- range语句
- 基本语法:
- range(num):获取一个从0开始,到num结束的数字序列(不包含num本身)
- range(num1, num2):获取一个从num1开始,到num2结束的数字序列(不包含num2本身)
- range(num1, num2, step):获取一个从num1开始,到num2结束的数字序列(不包含num2本身)(数字之间的步长,以step为准)
- 语句功能:获取一个数字序列
- 示例:
num = int(input("请输入一个整数:"))
for i in range(1, num+1):
print(i)
cnt = 0
for j in range(2, num+1, 2):
cnt += 1
print("一共有{}个偶数".format(cnt))
- 变量作用域
- for循环中的临时变量,其作用域限定为循环内
- 这种限定:
- 是编程规范的限定,而非强制限定
- 不遵守也能正常运行,但是不建议这样做
- 如需访问临时变量,可以预先在循环外定义它
2.2.2 for循环的嵌套应用
- 基本语法:
for 临时变量 in 待处理数据集(序列):
循环满足条件应做的事情
for 临时变量 in 待处理数据集(序列):
循环满足条件应做的事情
- 注意点:
- 需要注意缩进,嵌套for循环同样通过缩进确定层次关系
- for循环和while循环可以互相嵌套使用
- 示例:
for i in range(1, 10):
for j in range(1, i+1):
print("{}*{}={:2}".format(j, i, j*i),end=" ")
print('')
2.3 循环中断
2.3.1 break
- break关键字可以用于直接结束循环
- break可以用于for循环和while循环,效果一致
- 应用场景:需要直接结束整个循环
2.3.2 contine
- continue关键字用于:中断本次循环,直接进入下一次循环
- continue可以用于for循环和while循环,效果一致
- 应用场景:在循环中因为某些原因,临时结束本次循环
2.3.3 循环中断总结
- continue的作用是:中断所在循环的当次执行,直接进入下一次
- break的作用是:直接结束所在的循环
- 注意事项:
- continue和break,在for和while循环中作用一致
- 在嵌套循环中,只能作用在所在的循环上,无法对上层循环起作用
2.4 综合案例
import random
# 账户余额10000元
money = 10000
# 20个员工 循环
for i in range(1, 21):
# 随机生成该员工的绩效分
grade = random.randint(0, 10)
# 判断是否发工资
if grade >= 5:
money -= 1000
print("员工{},绩效分{},发放工资1000元,账户剩余{}元".format(i, grade, money))
else:
print("员工{},绩效分{},不发工资,账户剩余{}元".format(i, grade, money))
if money == 0:
print("工资发完啦,下个月再领吧")
break