python流程怎么控制_Python流程控制

本文链接:

python 同样提供了现代编程语言都支持的两种基本流程控制结构,分支结构和循环结构:

分支结构用于实现根据条件来选择性地执行某段代码

循环结构用于实现根据循环条件重复执行某段代码

if分支

单一分支

"""

if 条件表达式:

[代码块]

[后续代码]

执行流程:如果条件表达式为真,则执行[代码块]。否则不执行,直接执行if语句后面的[后续代码]。

注意:

- [代码块]必须缩进

- 单if语句可以嵌套

"""

示例:

age = int(input('输入年龄:'))

username=input('输入用户名')

if age>18 and username: # true and false --->false

print('{}今年{}岁了!'.format(username,age))

print('---game over----')

双向分支

if 条件表达式:

[语句块a]

else:

[语句块b]

[后续代码]

执行流程:如果条件表达式为真,执行[语句块a],然后执行[后续代码],否则执行[语句块b],然后再执行[后续代码],二选一,不可能既执行a又执行b。

注意:

- [语句块a]和[语句块b]必须缩进

- if-else可以嵌套

示例:

username = input('请输入用户名:')

password = input('请输入密码:')

is_remember = '123456'

if is_remember == password:

print('已经记住{}的密码啦'.format(username))

else:

print('密码错误,请重新输入!')

多向条件分支

"""

if 条件1:

[代码段1]

elif 条件2:

[代码段2]

............

elif 条件n:

[代码段n]

else:

[else语句块]

[后续代码]

执行流程:多选一,如果满足条件1,执行[代码段1],然后跳出if-elif语句,执行[后续代码],否则判断是否满足条件2,如果满足执行[代码段2],然后跳出if-elif语句,[后续代码]...。如果所有条件都不满足,执行[else语句块],然后再执行[后续代码]。

注意:else是可选的,可以写也可以不写。

"""

示例:

"""

任意输入年、月、日,输出这一天是这一年的第几天

提示:考虑是否是闰年

闰年判断条件:

1. 能被4整除不能被100整除

2. 能被400整除

两个条件,任满足一个即可

"""

year = int(input('输入年份:'))

month = int(input('输入月份:'))

date = int(input('输入日期:'))

days = 0

is_correct = true

# 判断是否是闰年

if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:

february = 29

else:

february = 28

# 判断月份

if month == 1:

days = date

elif month == 2:

days = 31 + date

elif month == 3:

days = 31 + february + date

elif month == 4:

days = 31 + february + 31 + date

elif month == 5:

days = 31 + february + 31 + 30 + date

elif month == 6:

days = 31 + february + 31 + 30 + 31 + date

elif month == 7:

days = 31 + february + 31 + 30 + 31 + 30 + date

elif month == 8:

days = 31 + february + 31 + 30 + 31 + 30 + 31 + date

elif month == 9:

days = 31 + february + 31 + 30 + 31 + 30 + 31 + 31 + date

elif month == 10:

days = 31 + february + 31 + 30 + 31 + 30 + 31 + 31 + 30 + date

elif month == 11:

days = 31 + february + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + date

elif month == 12:

days = 31 + february + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + date

else:

print('月份输入有误,请重新输入!!!')

is_correct = false

if is_correct:

print('{0}-{1}-{2}是{0}年的第{3}天'.format(year, month, date, days))

python pass语句

有时候程序需要占一个位、放一条语句,但又不希望这条语句做任何事情,此时就可通过 pass 语句来实现。通过使用 pass 语句,可以让程序更完整。

示例:

age = int(input("请输入您的年龄:"))

if age >= 0 and age <= 120:

pass

else:

print('输入的年龄不在范围内!')

python assert断言

assert 断言语句和 if 分支有点类似,它用于对一个 bool 表达式进行断言,如果该 bool 表达式为 true,该程序可以继续向下执行;否则程序会引发 assertionerror 错误。

示例:

age = int(input("请输入您的年龄:"))

assert 20 < age < 80

print("您输入的年龄在20和80之间")

"""

请输入您的年龄:1

traceback (most recent call last):

file "c:/users/administrator/desktop/day19/test.py", line 5, in

assert 20 < age < 80

assertionerror

请输入您的年龄:35

您输入的年龄在20和80之间

"""

循环

广义:一个周期现象或者重复出现的情况,这种状态被称为循环。

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

当反复执行某段代码时,需要在合适的时机将循环停止下来,否则会产生死循环。

python中提供的循环语句:while语句,for-in语句。

while循环

while语法

"""

while 表达式:

循环体

工作原理:遇到while语句时,首先计算表达式的值,如果表达式的值为假,则跳过整个while语句,继续执行下面的代码;如果表达式的值为真,则执行循环体。

"""

示例:

"""

求1--100之间可以被7整除的数的个数

"""

count = 0

var = 100

while var > 0:

if var % 7 == 0:

count += 1

var -= 1

print('---->:', count) # ---->: 14

while-else

"""

while 表达式:

循环体

else:

[else语句块]

"""

说明:当while语句执行完成之后,执行[else语句块],如果用break跳出循环则不执行else。

示例:

total = 0

var = 1000

while var > 0:

if var % 3 == 0 and var % 5 == 0 and var % 7 == 0:

total += var

print('------>', var)

var -= 1

else:

print('~' * 30)

print('------>:', total)

死循环

在循环语句中,表达式永远为真的循环。

"""

while true:

循环体

while 1:

循环体

"""

while语句的嵌套

"""

while 条件1: #外层循环

[语句块a]

while 条件2: #内存循环

[语句b]

执行流程:首先判断外层循环的条件1,如果为真,则执行循环体中的 [语句块a],执行内层循环,判断条件2是否成立,如果成立,执行内层循环的[语句b],执行完内层循环后,重新判断外层循环条件...

"""

特点:外层循环走一步,内层循环执行一遍;外层循环和内层循环的循环变量必须不同。

break、continue和exit()

continue 语句用来跳过当前循环的剩余语句,然后重新判断循环条件,开启下一轮循环。continue只能出现在while和for循环中。

break用于结束当前循环。只对当前这一重循环起作用。break只能出现在循环中。

exit()结束程序。

示例:

"""

从键盘上输入一个整数,如果等于你规定的整数,就猜中了,

如果小于规定的数,提示“小了”,否则提示“大了”,直到猜中位置

"""

import random

correct_num = random.randint(1, 10)

while true:

num1 = int(input('输入一个整数:'))

if num1 == correct_num:

print('恭喜你,猜对了!!!')

break

elif num1 < correct_num:

print('猜小了!继续猜哦')

else:

print('猜大了!继续猜哦')

for-in循环

for 循环的语法格式如下:

"""

for 迭代变量 in 字符串|列表|元组|字典|集合:

代码块

for .... else

else:适用于for执行完或者没有循环数据时,需要做的事情

for i in 范围:

有数据执行的语句

else:

没有数据执行的语句

"""

示例:

import random

str1 = 'qwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnm1234567890'

verification_code = ''

for i in range(4):

ran = random.randint(0, len(str1) - 1)

verification_code += str1[ran]

print('验证码是:' + verification_code)

user_input = input('请输入验证码:')

if user_input.lower() == verification_code.lower():

print('输入正确,继续下一步操作!')

else:

print('输入错误,下次再来!')

python循环结构中else用法

python 中,无论是 while 循环还是 for 循环,其后都可以紧跟着一个 else 代码块,它的作用是,当循环条件为 false 跳出循环时,程序会最先执行 else 代码块中的代码。

希望与广大网友互动??

点此进行留言吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值