流程控制语句-if语句

Python 中语句的结构:顺序结构,分支结构【if语句】,循环结构【while语句和for语句】

一、分支语句【重点掌握】

1.概念

在生活中,所谓的判断,指的是如果某些条件满足才能做某件事情;条件不满足时则不能做

在编程中,判断所给定的条件是否满足,根据判断的结果对应执行不同的语句,Python中的分支语句只有if语句

2.使用
2.1if单分支

语法:

if 表达式:
	语句

说明:当程序执行到if语句时,首先判断“表达式”的值,如果表达式的值为“真”,则执行缩进的语句;如果表达式的值为“假”,则跳过整个if语句继续向下执行

# if单分支
"""
语法:
if 条件:
	语句
"""

# 1.基本语法
"""
    a.在Python中,是通过缩进区分代码块的
    b.if语句的条件可以由常量,变量或表达式表示
    c.if单分支的工作原理:如果条件成立,则执行代码块中扥语句,如果条件不成立,则整个if代码块会被跳过
"""
# 常量
if 1:
    print("1111")

# 变量
x = 45
if x:
    print("2222")

# 表达式
a = 4
b = 9
if a == b:
    print("3333")

# 2.案例
# 需求1:从控制台输入一个数,判断该数是否是偶数
# num1 = int(input("请输入一个数:"))
# if num1 % 2 == 0:
#     print("num1是一个偶数")

# 需求2:模拟彩票中奖操作:随机获取一个数,和控制台输入的数进行比较,如果相等,则表示中奖
# a.如何产生随机数
"""
第一步:导入模块,import random,该句代码可以书写在程序的任何位置,但是一般建议书写在文件的最开头
第二步:使用模块中的功能,random.choice(容器)

用法:
    random.choice([3,4,5])     从3,4,5随机产生一个数
    random.choice(range(start,end,step))   在start~end-1的范围内随机获取一个随机数
        start:开始,可以省略,默认为0,包含在内
        end:结尾,不可以省略,不包含在内
        step:步长,可以省略,默认为1,步长可以为正数,也可以为负数
        
举例:
    random.choice(range(100))    获取0~99之间的一个任意的整数随机数
    random.choice(range(10,100)) 获取10~99之间的一个任意的整数随机数
    random.choice(range(1,100,2))  获取1~99之间的一个任意的奇数随机数
    random.choice(range(0,100,2))  获取0~99之间的一个任意的偶数随机数
    random.choice(range(100,2,-1)) 
"""
import  random
print(random.choice(range(100)))
print(random.choice(range(10,100)))
print(random.choice(range(1,100,2)))
print(random.choice(range(0,100,2)))

# print(random.choice(range(100,2)))  # IndexError: Cannot choose from an empty sequence
print(random.choice(range(100,2,-1)))

print(range(100))
print(list(range(100)))


# b.需求实现
random_num = random.choice(range(101))  # 0~100
print(random_num)
input_num = int(input("请输入一个0~100之间的整数:"))
if random_num == input_num:
    print("恭喜你,中奖了")
2.2if双分支

语法:

if 表达式:
	语句1
else:
	语句2

说明:当程序执行到if-else语句时,首先判断“表达式”的值,如果表达式的值为“真”,则执行语句1;如果表达式的值为“假”,则执行语句2

# if-else双分支
"""
if 条件:
	代码块1
else:
	代码块2
"""
"""
注意:
    a.工作原理:如果条件成立,则执行代码块1,如果不成立,则执行代码块2
    b.if-else双分支多用于二选一的操作
"""

# 1.基本使用
# 需求1:从控制台输入一个数,判断该数是否是偶数
# num1 = int(input("请输入一个数:"))
# if num1 % 2 == 0:
#     print("num1是一个偶数")
# else:
#     print("num1是一个奇数")

# 优化
"""
num1 = input("请输入一个数:")
# isdigit():判断一个字符串是否全部由数字组成,如果是,则结果是True
if num1.isdigit():
    # 如果字符串num1全部是由数字组成的,则可以直接转换为整型
    num1 = int(num1)
    if num1 % 2 == 0:
        print("num1是一个偶数")
    else:
        print("num1是一个奇数")
else:
    print("输入有误,应该输入数字")
"""


# 需求2:模拟彩票中奖操作:随机获取一个数,和控制台输入的数进行比较,如果相等,则表示中奖
# import  random
# random_num = random.choice(range(101))  # 0~100
# print(random_num)
# input_num = int(input("请输入一个0~100之间的整数:"))
# if random_num == input_num:
#     print("恭喜你,中奖了")
# else:
#     print("谢谢惠顾")


# 优化
import  random
random_num = random.choice(range(101))  # 0~100
print(random_num)
input_num = input("请输入一个0~100之间的整数:")
# 判断input_num是否是一个数字
if input_num.isdigit():
    input_num = int(input_num)
    # 判断input_num是否在0~100之间
    if input_num in range(101):
        if random_num == input_num:
            print("恭喜你,中奖了")
        else:
            print("谢谢惠顾")
    else:
        print("你输入的数超出了规定的范围")
else:
    print("输入有误")
2.3if多分支

语法:

if 表达式1:
	语句1
elif 表达式2:
	语句2
elif 表达式3:
	语句3.
elif 表达式n:
	语句n
else:
	语句m
    
else if  ---->elif

说明:当程序执行到if-elif语句时,首先计算表达式1的值,如果表达式1的值为真,那么执行语句1,执行完语句1则直接跳出整个if-elif语句,代码继续向下执行;

# if-elif-elif....-else多分支

"""
语法
if 表达式1:
	语句1
elif 表达式2:
	语句2
elif 表达式3:
	语句3
….
elif 表达式n:
	语句n
else:
	语句m
"""

"""
注意:
    a.多分支主要解决三种及三种以上的问题
    b.工作原理:多分支是实现多选一的操作,代码从上往下依次判断,只要其中一个条件成立,则执行对应的代码块
              整个if-elif-else语句结束
              
    c.在多分支中,不管有多少个分支条件成立,都只会执行其中的一个分支,最终只会执行最上面成立的一个分支
    d.当if语句和所有的elif语句分条件都不成立时,则执行else分支,但是,else不是必须的
"""


# 需求1:从控制台输入一个年龄,打印该年龄对应的阶段
age = int(input("请输入你的年龄:"))
if age < 0:
    print("输入有误")
elif age < 3:
    print("婴儿")
elif age < 12:
    print("儿童")
elif age < 18:
    print("少年")
elif age < 30:
    print("青年")
elif age < 55:
    print("中年")
elif age < 150:
    print("老年")
else:   # age大于150
    print("恐怕是个老妖怪吧")


# 需求2:从控制台输入两个数,比较两个数的大小,输出较大的数
num1 = int(input("请输入第一个数:"))
num2 = int(input("请输入第二个数:"))
if num1 > num2:
    print("较大的数:",num1)
elif num1 < num2:
    print("较大的数:", num2)
else:
    print("二者相等")
2.4三者的区别
"""
如何区分使用哪种分支
    a.单分支:只有一种情况
    b.双分支:有两种情况
    c.多分支:有三种及三种以上的情况
"""

num = 3

# 多分支:多选一
if num > 1:
    print("a")
elif num > 2:
    print("b")
elif num > 3:
    print("c")
else:
    print("d")
# a


# 单分支:要么执行,要么不执行
if num > 1:
    print("a")
if num > 2:
    print("b")


# 双分支:二选一
if num > 3:
    print("c")
else:
    print("d")
2.5嵌套if语句

语法:

if 表达式1:
	语句1
	if 表达式2:
		语句2

说明:当表达式1和表达式2的值都为真时,才会执行语句2

注意:单分支,双分支和多分支两两之间可以互相嵌套

2.6三目运算符
# if-else
# 语法:a  if  条件   else   b

# 需求:
num1 = int(input("请输入一个数:"))
if num1 % 2 == 0:
    print("num1是一个偶数")
else:
    print("num1是一个奇数")


r1 = "偶数" if num1 % 2 == 0 else "奇数"
print(r1)


r1 = True if num1 % 2 == 0 else False
print(r1)


# 三目运算符实现了二选一的操作,可以简化if-else语句,但是,只能实现简单的逻辑
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值