失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 03.Python基础--控制流语句-顺序结构-判断结构-循环语句

03.Python基础--控制流语句-顺序结构-判断结构-循环语句

时间:2021-02-16 22:40:29

相关推荐

03.Python基础--控制流语句-顺序结构-判断结构-循环语句

文章目录

1.控制流语句1.1 if条件判断1.1.1 布尔类型和其他数据类型之间的转换关系1.1.2 if 嵌套1.1.3 列表1.2 循环语句1.2.1 for循环1.2.2 whlie循环1.2.3打印-1到-20中所有3的倍数1.2.4 break退出本"层"循环1.2.5 continue结束本"次"循环1.2.6 练习 寻找水仙花数

1.控制流语句

顺序语句

从左到右, 从上到下

1.1 if条件判断

计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。

比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现:

方法一

if <条件判断表达式>:

<当上面的代码成立时,运行代码>

根据Python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做。

也可以给if添加一个else语句,意思是,如果if判断是False,不要执行if的内容,去把else执行了:

age = 20if age >= 18:print('your age is', age)print('adult') your age is 20adult

例1a = 1# 只要看到if 了 , 就是进入 分支语句# if 后面 判断表达式 # 判断表达式后面 冒号:if a < 0:print(1) print(2)例2a = 1if a == 2:print(1)else:print('不成立')print('后面的代码')

方法二

if <条件判断表达式>:

<当上面的代码成立时,运行代码>

else:

<当上面代码不成立时,运行代码>

a = 1if a == 2:print(1)else:print('不成立')不成立

方法三

elif是else if的缩写,完全可以有多个elif,所以if语句的完整形式就是:

所以if语句的完整形式就是:

if <条件判断1>:

<执行1>

elif <条件判断2>:

<执行2>

elif <条件判断3>:

<执行3>

else:

<执行4>

age = 20if age >= 6:print('teenager')elif age >= 18:print('adult')else:print('kid')teenager

案例

# 1 - 4 岁 婴儿# 4 - 18 岁 儿童# 18 - 35 青年# 35 - 55 中年# 55 以上 老年age = int(input('请输入您的年龄'))if age <= 4:print('你是一个小baby')elif age <= 18:print('你还未成年,不能去网吧')elif age <= 35:print('你已经成年了, 可以去网吧玩游戏了')elif age <= 55:print('你是一个中年人了, 不需要去网吧了')else:print('您是一个老年人, 和网吧没有关系了')请输入您的年龄1你是一个小baby

1.1.1 布尔类型和其他数据类型之间的转换关系

所有空值、0为假,其他为真

bool(0)

bool([])

bool(’’)

都是返回为假false

1.1.2 if 嵌套

if嵌套

通过学习if的基本用法,已经知道了

当需要满足条件去做事情的这种情况需要使用if

当满足条件时做事情A,不满足条件做事情B的这种情况使用if-else

想一想:

坐火车或者地铁的实际情况是:先进行安检如果安检通过才会判断是否有车票,或者是先检查是否有车票之后才会进行安检,即实际的情况某个判断是再另外一个判断成立的基础上进行的,这样的情况该怎样解决呢?

答:

if嵌套

if嵌套的格式

if 条件1:满足条件1 做的事情1满足条件1 做的事情2...(省略)...if 条件2:满足条件2 做的事情1满足条件2 做的事情2...(省略)...

# 先检票 , 如果有票, 则进站# 如果没票, 不能进站# 如果成功进站了, 进行安检# 如果没有危险物品, 则可以上车# 如果有危险物品, 被抓到派出所ticket = Truedanger_thing = Trueif not danger_thing:print('没有危险物品可以进站')if ticket:print("恭喜上车")else:print('请出去')else:print('请跟我走一趟')

练一练

情节描述:上公交车,并且可以有座位坐下

要求:输入公交卡当前的余额,只要超过2元,就可以上公交车;如果空座位的数量大于0,就可以坐下

money = float(input('请输入公交卡的钱:'))setting = float(input('请输入座位数:'))if money >= 2:print('可以上车')if setting >= 1:print('请坐下')else:print('请站着')else:print('请下车')请输入公交卡的钱:2请输入座位数:3可以上车请坐下

补充:

and not or的优先级

or<and<not

1.1.3 列表

当我们有一百个变量要储存起来的时候,总不能弄一百个变量啊,怎么办的,用列表.

我们可以对列表这样去理解, 就把它当成一个大桶, 当我们有一堆东西需要找个地方临时存放在一起, 以便后续进行排序, 筛选,提取等操作时, 就弄一个列表, 先放进去.

列表中的元素,没有数据类型的限制,可以为任何数据类型

s = [1,2,3,4,5,6,7,8,9,10]list1 = [1, 2, 3,'on','go',True,False,None]s2 = ['临','兵','斗','者','皆','列','阵','在','前']

1.2 循环语句

循环语句的使用场景

这一天老师让你抄写一百遍"我错了"

for循环

for循环for i in range(100):print("我错了")

while循环

i = 0while i <= 100:print("我错了")i += 1

1.2.1 for循环

for循环和编程语言中常见的循环不太一样,它实际上不是一个循环,而是一个遍历功能,会依次对一个可迭代的数据中的每一个数据进行操作.

在Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。

for循环的格式

for 临时变量 in 列表或者字符串等:循环满足条件时执行的代码

range的使用

range(数字)表示生成0-多少的数组

# 例:list(range(10))表示生成0到9的数[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

range(a,b)表示生成a到b的数

# 例:list(range(10,20))表示生成10到19的数[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

range(a,b,c)表示生成a到b的数,间距为c

# 例:list(range(10,20,2))表示生成10到20的偶数[10, 12, 14, 16, 18]

利用for 循环实现1到100的累加

# 先定一个累加器n = 0for i in range(1, 101):# 每次把遍历出来的i 的值 累加到 n 上面去n += i n

1.2.2 whlie循环

while 条件表达式:条件满足时,做的事情1条件满足时,做的事情2条件满足时,做的事情3...(省略)...

案例1

i = 0while i<5:print("当前第{}次执行循环".format(i+1))print('i={}'.format(i))i += 1当前第1次执行循环i=0当前第2次执行循环i=1当前第3次执行循环i=2当前第4次执行循环i=3当前第5次执行循环i=4

案例2

s = "也可以使用while循环对字符串进行遍历,不过就需要配合字符串的索引功能了"i = 0while i < len(s):print(s[i])i += 1也可以使用while循环对字符串进行遍历,不过就需要配合字符串的索引功能了

1.2.3打印-1到-20中所有3的倍数

i = -1while i >=-20:if i%3 == 0:print(i)i -= 1-3-6-9-12-15-18

对数字0 每次 加 7 , 然后把这个数字打印出来

一直运行到 这个数字是 100的倍数 停止

i = 0while (not(i%100 == 0)) or (i == 0):print(i)i += 70714212835424956637077849198105112119126133140147154161168175182189196203210217224231238245252259266273280287294301308315322329336343350357364371378385392399406413420427434441448455462469476483490497504511518525532539546553560567574581588595602609616623630637644651658665672679686693

1.2.4 break退出本"层"循环

遇到break相当于推出本层循环

name = '我想要去打游戏,不想学习'for i in name:if i == ',':breakprint(i)我想要去打游戏

1.2.5 continue结束本"次"循环

continue的作用:用来结束本次循环,紧接着执行下一次的循环

name = '我想要去打游戏,不想学习'for i in name:# 如果遇到了逗号, 就不打印了if i == ',':continueprint(i)我想要去打游戏不想学习

注意:

break/continue只能用在循环中,除此以外不能单独使用

break/continue在嵌套循环中,只对最近的一层循环起作用

1.2.6 练习 寻找水仙花数

题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

方法一

# 水仙花数for i in range(100,1000):a = i // 100b = i // 10%10c = i % 10if i == (a**3+b**3+c**3):print(i)153370371407

方法二

for i in range(100,1000):s = str(i)a = s[0]b = s[1]c = s[2]if int(a)**3 + int(b)**3 + int(c)**3 == i:print(i)153370371407

如果觉得《03.Python基础--控制流语句-顺序结构-判断结构-循环语句》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。