Python基本语法2_语句相关

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循环的基础语法
  1. 基础语法
  • 与while循环语句的区别:

    • while循环的循环条件是自定义的,自动控制循环条件
    • for循环是一种“轮询”机制,是对一批内容进行“逐个处理”
    • 同while循环不同,for循环是无法定义循环条件的,只能从被处理的数据集中,依次取出内容进行处理
  • 语法格式:

for 临时变量 in 待处理数据集(序列):
	循环满足条件时执行的代码
  • 注意点:
    • 无法定义循环条件,只能被动取出数据处理
    • 要注意,循环内的语句,需要有空格缩进
  • 示例:
str = input("请输入字符串:")
cnt = 0
for c in str:
    if c == 'a':
        cnt += 1
print("一共有{}个a".format(cnt))
  1. 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))
  1. 变量作用域
  • 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
  • 17
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值