Python笔记4-Day4笔记-if多分支&嵌套if语句&while循环基本使用

一、if语句

1.if多分支

语法:

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语句,代码继续向下执行;

# 需求:从控制台输入一个年龄,打印该年龄对应的年龄段
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 <= 130:
    print("老年")
else:  # age >= 131
    print("年龄输入有误")

"""
注意:
    1.elif分支根据具体的需求可以书写无数个
    2.else分支可以省略,如果前面所有的条件都未满足,则代码会执行else分支
    3.从上往下进行依次判断,只要有一个条件满足,则执行对应的语句,则整个if语句结束
"""

# 练习:从控制台输入两个数,比较两个数的大小,如果大于,输出1,如果小于,输出-1.如果相等,输出0
num1 = int(input("first:"))
num2 = int(input("second:"))
if num1 > num2:
    print(1)
elif num1 < num2:
    print(-1)
else:
    print(0)

2.三者的区别

"""
【面试题】简述if单分支,双分支和多分支的区别
    单分支:只能处理一种情况,特点:要么执行,要么不执行
    双分支:处理两种情况,特点:实现了二选一的操作
    多分支:处理三种及三种以上的情况,特点:实现了多选一的情况
"""

m = 3

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


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

# 双分支:二选一
if m > 3:
    print('c')
else:
    print('d')
# d

3.嵌套if语句

语法:

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

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

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

# 单分支,双分支和多分支可以进行互相的嵌套
# 注意:从理论上来说,嵌套的层数没有限制,但是,为了代码的可读性,建议嵌套的层数不要超过3层

# 1.需求1:如果有人加你好友,需要验证性别和颜值,从控制台输入性别,输入颜值,
# 如果是女生,颜值在6分以上,则欣然同意,否则残忍拒绝
# gender = input("请输入你的性别:")
# face_value = input("请输入你的颜值:")
# if gender == 'female':
#     if face_value > '6':
#         print("欣然同意")
#     else:
#         print("颜值不符合,残忍拒绝")
# else:
#     print("不是女生,残忍拒绝")


# 2.需求2:从控制台输入一个数,判断该数是否是偶数
num = input("请输入一个数:")
# 需要验证从控制台输入的内容是否全部是由数字组成的,如果是,则通过int()转化成整型
# 字符串.isdigit():判断字符串是否全部由数字组成,如果是,结果是True,否则结果是False
if num.isdigit():
    num = int(num)
    if num % 2 == 0:
        print("偶数")
    else:
        print("奇数")
else:
    print("输入有误")

4.三目运算符

# 三目运算符/三元运算符
# 注意:Python中没有该运算符,但是,通过if双分支语句模拟一个

# 作用:实现二选一
# 语法:a if 条件 else b
# 工作原理:如果条件成立,则整个表达式的值为a,如果条件不成立,则整个表达式的值为b

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


result1 = "偶数" if num % 2 == 0 else "奇数"
print(result1)

result1 = True if num % 2 == 0 else False
print(result1)

# 简化if-else语句,但是,只能实现简单的逻辑,复杂的逻辑还是需要使用if代码块

二、循环语句之while【重点掌握】

1.概念

在生活中,循环指的是一个现象周期性或者重复性的出现

在编程中,在满足条件的情况下,反复执行某一段代码,在编程语言中出现的这种现象被称为循环,这段被重复执行的代码被称为循环体

Python中提供的循环语句有:while语句和for语句

2.基本语法

语法:

while 表达式:
	语句

说明:当程序在从上往下执行的过程中,遇到while语句时,首先计算表达式的值,如果表达式的值为假,则跳过整个while语句,程序继续向下执行;如果表达式的值为真,则执行对应的语句;执行完语句,再去计算表达式的值,如果表达式的值为假,则跳过整个while语句,程序继续向下执行;如果表达式的值为真,则执行对应的语句。。。如此循环往复,直到表达式的值为假,整个循环才停止

"""
while 表达式:
	语句

if 表达式:
    语句
"""

# 1.
# if 1:
#     print("hello~~~1111")
# while 1:
#     print("hello~~~2222")

# 循环语句的核心:控制循环的次数,否则容易形成死循环
# while语句和if语句的区别:在条件成立的前提下,if语句只会执行一次,while至少执行一次

# 2.基本语法
# 需求:打印10遍hello world

# 方式一:代码比较繁琐,代码可读性不高,后期不好维护
# print("hello world")
# print("hello world")
# print("hello world")
# print("hello world")
# print("hello world")
# print("hello world")

# 方式二:循环
# a.初始化表达式,注意:a的初始值不一定是0,但是为了方便计算,一般涉及到次数,从0开始
a = 0
# b.条件表达式
while a <= 9:   # a < 10
    # c.循环体
    print("hello world")
    # d.循环之后的操作表达式
    a += 1

# a.初始化表达式,注意:a的初始值不一定是0,但是为了方便计算,一般涉及到次数,从0开始
a = 9
# b.条件表达式
while a >= 0:
    # c.循环体
    print("hello world")
    # d.循环之后的操作表达式
    a -= 1

3.使用练习

# 1.打印10~20的数字
n1 = 10
while n1 <= 20:
    print(n1)
    n1 += 1

# 2.求1~100之间所有整数的和
n1 = 1
total = 0  # 记录和
while n1 <= 100:
    total += n1
    n1 += 1
print(total)


# 3.求1~100之间所有偶数的和
n1 = 1
total = 0  # 记录和
while n1 <= 100:
    if n1 % 2 == 0:
        total += n1
    n1 += 1
print(total)


# 4.求1~100之间能被3整除或被5整除的数的个数
n1 = 1
count = 0
while n1 <= 100:
    if n1 % 3 == 0 or n1 % 5 == 0:
        count += 1
    n1 += 1
print(count)
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值