分支与循环

分支结构与循环结构

1. 分支结构

  1. 分支结构的作用是在程序运行过程中能够对对某些情况正确的做出选择。
  2. 分支结果的系统关键字有:if、else、elif

1.单分支结构

只需依靠(if,else)即可实现。例如:

# 在某个网站登录账号。
UserName=input('请输入账号:')
pwd=input('请输入密码:')
if Username == 'admin' and pwd == '123456' :
	print('登录成功')
elseprint('账号或密码错误')
"""
语法:
if 条件:
    代码块
else:
    代码块

else分支可以不写。
"""

2.多分支结构

需要在单分支结构上加入(elif)才可实现。例如:

# 考试成绩划分等级(ABCDE)
score=int(input('请输入你的成绩:'))
if score > 100 or score <0:
	print('你的输入有误')
elif score >=90:
	print('A')
elif 80 <= score < 90:
	print('B')
elif 70 <= score < 80:
	print('C')
elif 60 <= score < 70:
	print('D')
elif score < 60:
	print('E')
"""
语法:
if 条件:
    代码块
elif 条件:
    代码块
elif 条件:
    代码块
......
else:
    代码块
elif 可以写无数个,else看情况写或者不写
"""
1. 嵌套分支

嵌套分支指的是一个分支结构再嵌套多个分支结构。在需要进行多次判断时需要用到。
在使用嵌套分支的时候需要注意缩进的对应。
案例如下:判读数字是否是偶数,如果是偶数再判读其是否是10的倍数。

num = int(input('请输入一个整数'))
if num % 2 == 0:
	print(f'{num}是偶数')
	if num % 10 == 0:
		print(f'{num}是10的倍数')
	else:
		print('f{num}不是10的倍数')
else:
	print(f'{num}是奇数')
2.三目运算符

三目运算符是针对单分支结构的简化,性能和单分支结构没有差异。
具体语法为:
变量 = 结果1 if 条件 else 结果2
如果条件成立,执行结果1,否则执行结果2。

age = 20
result = '成年' if age >= 18 else '未成年'
print(result)

2.循环结构

  1. 循环的意义:循环可以借助程序来解决某一些复杂、繁琐、重复的事情。
  2. 循环中涉及的关键字有:for 、while,in,break、continue、else。
  3. 在循环中一定要注意缩进。
  4. for循环适用于循环次数的循环,for 循环后会接上容器,而容器中的元素总是有限且确定的。
  5. while循环即适合循环次数确定的也适合非确定的。
  6. for循环更加常用,for循环的代码会更加简洁,且while循环容易出现bug,陷入死循环。

1. for循环:

for循环的语法结构:

'''
for 变量 in 容器:		#容器中元素个数,决定for循环次数,例如容器中有10个元素,循环就会执行10次。
	代码块
'''

# 例如,对1到100进行求和

sum = 0
for i in range(1,101):		#其中range为左闭右开的区间,即[1,101),包含左边不包含右边。
	sum += i
print(sum)

# range(M,N,step),M为范围起点,N为范围终点,step为步长,默认值为1。
# range(M,N),从M取值,一直到N-1
# range(10),如果range中只包含一个数字x,且x>0,表示从0取值到x-1,此时x代表结束范围。x<=0时取不到值。

# 利用步长求100以内偶数的和

sum1 = 0
for j in range(2,101,2):
	sum1 += j
print(sum1)
for - else 循环

for - else 循环语法:

'''for 变量 in 容器:
	代码块
else:
	代码块'''

for - else 循环适用于所有可能考虑完才能得到某一结论的场景。for循环正常结束之后,else语句被触发,如果for循环非正常结束(例如break被触发结束循环时),else语句不会被触发。

# 案例:找出100以内所有的素数。
for i in range(2, 101):
    if i == 2:
        print('2是素数')
    else:
        for j in range(2, i):
            if i % j == 0:
                print(f'{i}不是素数')
                break
        else:
            print(f'{i}是素数')
# else 与上一个 for 在同一缩进

2. while循环

# for适合循环次数确定的循环。
# while既适合循环次数确定的循环,又适合循环次数不确定的循环。
"""
while语法

while 条件:
    代码块
"""

# 1.计算1-100的和

sum = 0
i = 1
while i <= 100:
    sum += i
    i += 1
print(sum)

# 2.猜数字游戏。如果猜的数字比较大,提示再小一点;如果猜的数字比较小,提示再大一点;
# 如果猜对了,程序结束;如果7次之内猜不对,提示智商有限。
import random

# 随机模块random
# randint(a,b) :表示从[a,b]中随机生成一个整数。
num = random.randint(1, 100)
# print(num)
count = 0
while True:			#此处即为死循环,需要配合后面的break来跳出循环。
    num1 = int(input('请输入你猜的数字:'))
    count += 1
    if num1 > num:
        print('再小一点')
    elif num1 < num:
        print('再大一点')
    else:
        print('猜对了')
        break
if count > 7:
    print('智商有限')
break和continue
  1. break:break被触发时,直接结束所在循环
  2. continue:continue被触发,只会跳出所在循环的当次循环,还会进入下一次循环。
  3. break和continue被触发,后面的代码块都将不会被执行。
for i in range(1,101):
	if i % 5 == 0:
		print('****')
		break
		print('----')		#当break被触发时,此语句将不会被执行,并且会直接结束循环。
	else:
		print(i)
print('============分隔符==============')
for j in range(1,101):
	if i % 5 == 0:
		print('****')
		continue
		print('----')		#当continue被触发时,此语句不会被执行,跳出此次循环,进入该for循环中下一次循环。
	else:
		print(i)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值