② 判断语句、循环语句

二、if和循环语句


① if 语句


1、 If 语法


语法:

if 条件:
	条件成立执行的代码1
	条件成立执行的代码2
	.....
	

实例:

# 实例
-------------------------------------------------------
age = int(input('请输入你的年龄:'))
if age >= 18:
	print(f'你的年龄为{age},已成年可上网')
-------------------------------------------------------
# 输出结果
请输入你的年龄:18
你的年龄为18,已成年可上网



2、 If…else…语法


语法:

if 条件:
	条件成立执行的代码1
	条件成立执行的代码2
	.....
else:
	条件不成立执行的代码1
	条件不成立执行的代码2
	.....
	

实例:

# 实例
-------------------------------------------------------
age = int(input('请输入你的年龄:'))
if age >= 18:
	print(f'你的年龄为{age},已成年可上网')
else:
	print('小朋友,回家写作业')
-------------------------------------------------------
#输出结果
请输入你的年龄:18
你的年龄为18,已成年可上网
请输入你的年龄:10
小朋友,回家写作业



3、 If…elif…else…多重判断语法


语法:

if 条件:
	条件成立执行的代码1
	条件成立执行的代码2
	.....
elif 条件2:
	条件2成立执行的代码1
	条件2成立执行的代码2
	.....
else:
	条件不成立执行的代码1
	条件不成立执行的代码2
	......
	

实例:

# 实例
-------------------------------------------------------
'''
需求:
    如果年龄小于18 为童工,不合法
    如果年龄18-60岁之间,为合法工作年龄
    如果年龄大于60位退休年龄
'''
'''
步骤:
    1. 用户输入自己的年龄,保存变量 --str;
    2. if做判断 elif
    3. 输出提示信息:您输入的年龄是x,合法与否
'''
-------------------------------------------------------
age = int(input('请输入你的年龄:'))
# 另外一种形式: 18 <= age <= 60
if (age >= 18) and (age < 61):
    print(f'您输入的年龄是{age},为合法工作年龄')
elif age > 60:
    print(f'您输入的年龄是{age},为退休年龄')
else:
    print(f'您输入的年龄是{age},为童工,不合法')
    


4、 If 嵌套


If 嵌套:前一次判断结果后,需要时再一次判断

语法:

if 条件1:
	条件1成立执行的代码
    
    if 条件2:
    条件2成立执行的代码
    

实例:

'''
需求:
	坐公交:如果有钱上车,没钱不能上车。
	上车后:有空座则坐下,没空座则站着。
'''
-------------------------------------------------------
# 实例
-------------------------------------------------------
money = 1 
seat = 0

# 第一个if成立,才能够进行下个if的判断

if money == 1:
	print('请上车')
	if seat == 1:
		print('有空位,请坐')
	else:
		print('无空位,站着')
else:
	print('没钱,走吧')
	


5、 猜拳游戏项目


实例:

'''
① 出拳
    玩家:手动输入
    电脑:随机数
② 判断
    2.1 玩家获胜
    2.2 平手
    2.3 电脑获胜
'''
-------------------------------------------------------
import random
# 玩家出拳
player = int(input('请出拳:(0--剪刀;1--石头;2--布):'))
# 电脑出拳
computer = random.randint(0,2)
print(computer)
# 设置玩家赢的条件
if ((player==0) and (computer==2)) or ((player==1) and (computer==0)) or ((player==2) and (computer==1)):
    print('玩家获胜')
# 设置电脑赢的条件
elif ((player==0) and (computer==1)) or ((player==1) and (computer==2)) or ((player==2) and (computer==0)):
    print('电脑获胜')
else:
    print('平手')
    


6、 三目运算符


语法:

# 语法
条件成立执行的表达式 if 条件 else 条件不成立执行的表达式

实例:

a = 1
b = 2
#当a > b时,c = a。 当a > b不成立时,c=b+1。
c = a if a >b else b+1  
-------------------------------------------------------
# 输出结果:3



② While 循环、嵌套


1、 While语法


语法:

while 条件:
	条件成立重复执行的代码1
	条件成立重复执行的代码2
	.....
	

实例:

# 实例(打印5遍数据)	
-------------------------------------------------------
i = 1								 
while i <= 5:						   
	print('12345')
	i += 1
-------------------------------------------------------
# 输出结果
12345
12345
12345
12345
12345



2、 While应用


实例:1 - 100 累加

# 循环应用 1-100累加
-------------------------------------------------------
result = 0
i = 1
while i <= 100:
	result += i
	i += 1
print(result)

实例:1 - 100偶数累加(方法1)

#  循环应用 1-100偶数累加(方法1)
-------------------------------------------------------
result = 0
i = 0
while i <= 100:
	result += i
	i += 2
print(result)

实例:1 - 100偶数累加(方法2)

#  循环应用 1-100偶数累加(方法2)
-------------------------------------------------------
result = 0
i = 0
while i <= 100:
	if i % 2 == 0:
		result += i
	i += 1
print(result)



3、 While循环嵌套语法


语法:

while 条件1while 条件2:
		条件2成立重复执行的代码1
		.....
	条件1成立重复执行的代码1
	.....
	

实例:

# 实例
-------------------------------------------------------
j = 0
while j < 3:
    i = 0
    while i < 3:
        print('我错了')
        i += 1
    print('刷晚饭的碗')
    print('一套流程结束------')
    j += 1
-------------------------------------------------------
# 输出结果
我错了
我错了
我错了
刷晚饭的碗
一套流程结束------
我错了
我错了
我错了
刷晚饭的碗
一套流程结束------
我错了
我错了
我错了
刷晚饭的碗
一套流程结束------



4、 循环嵌套流程图


image-20220515174137688

5、 While循环嵌套应用


实例:打印星号(矩形)

# 打印星号(矩形)
'''
1、打印1个星星
2、一行5个: 循环 -- 5个星星在一行显示
3、打印5行星星:循环 -- 一行5个
'''
-------------------------------------------------------
j = 0
while j < 5:
    i = 0
    while i < 5:
        print('*',end='')
        i += 1
    print('')
    j += 1
-------------------------------------------------------
# 输出结果
    *****
    *****
    *****
    *****
    *****
    

实例:打印星号(三角形)

# 打印星号(三角形):每行星星的个数和行号相等
# j表示符号
-------------------------------------------------------
j = 0
while j < 5:
	# 一行星星的打印
    i = 0
    # i表示每行星星的个数,这个数字要和行号相等所以i和j要联动
    while i <= j:
        print('*',end='')
        i += 1
    print('')
    j += 1
-------------------------------------------------------
# 输出结果
    *
    **
    ***
    ****
    *****
    

实例:九九乘法表

# 九九乘法表(小项目案例)
'''
1、打印一个乘法表达式:x * x = x*x
2、一行打印多个表达式 -- 一行表达式的个数和行号数相等 -- 循环:一个表达式 -- 不换行
3、打印多行表达式 --循环 : 一行表达式 -- 换行
'''
-------------------------------------------------------
j = 1
while j <= 9:
    i = 1
    while i <= j:
        print(f'{i}*{j}={i*j}',end='\t')
        i += 1
    print()
    j += 1
-------------------------------------------------------
# 输出结果
1*1=1	
1*2=2	2*2=4	
1*3=3	2*3=6	3*3=9	
1*4=4	2*4=8	3*4=12	4*4=16	
1*5=5	2*5=10	3*5=15	4*5=20	5*5=25	
1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	
1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	
1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	
1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81	



③ break和continue


breakcontinue 是循环中满足一定条件退出循环的两种方式。

1、 break的使用


beark控制循环流程,即终止此循环。(退出循环)

例子:

'''
举例:一共吃5个香蕉,吃的过程中,吃完第3个吃饱了,后面都不吃了
即吃苹果的动作停止,这就是break控制循环流程,即终止此循环
'''
-------------------------------------------------------
i = 1
while i <= 5:
    if i == 4:
        print(f'吃饱了')
        break
    print(f'吃了第{i}个香蕉')
    i += 1
-------------------------------------------------------
# 输出结果
吃了第1个香蕉
吃了第2个香蕉
吃了第3个香蕉
吃饱了



2、 continue的使用


continue控制循环流程,即退出当前循环而执行下一次循环。

使用continue,在continue之前一定要修改计数器,否则进入死循环。

'''
举例:一共吃5个苹果,如果吃的过程中,吃到第3个发现有虫子,
这个不吃了,开始吃第3个苹果,这里就是continue控制循环流程,
即退出当前一次循环进行下一次
'''
-------------------------------------------------------
i = 1
while i <= 5:
    if i == 3:
        print('有虫子')
        # 如果使用continue,在conttinue之前一定要修改计数器,否则进入死循环。
        i += 1
        continue
    print(f'吃了第{i}个苹果')
    i += 1
-------------------------------------------------------    
# 输出结果
吃了第1个苹果
吃了第2个苹果
有虫子
吃了第4个苹果
吃了第5个苹果



④ for循环


1、 for循环语法


语法:

for 临时变量 in 序列:
	重复执行的代码1
	重复执行的代码2
	......
	

实例:

# 实例1
str1 = 'abcdefg'
for i in str1:
	print(i)
-------------------------------------------------------	
# 输出结果1
a
b
c
d
e
f
g

实例:

# 实例2
for i in range(0,10):
    print(i)
-------------------------------------------------------    
# 输出结果2
1
2
3
4
5
6
7
8
9



2、break和continue退出for循环


2.1、break退出for循环

实例:

str1 = 'abcdefg'
for i in str1:
    # 当某些条件成立退出循环 -- break:条件i取到字符e
    if i == 'e':
        print('遇到e不打印')
        break
    print(i)
-------------------------------------------------------
# 输出结果
a
b
c
d
遇到e不打印


2.2、continue退出for循环

实例:

str1 = 'abcdefg'
for i in str1:
    # 当某些条件成立退出循环 -- break:条件i取到字符e
    if i == 'e':
        print('遇到e不打印')
        continue
    print(i)
-------------------------------------------------------
# 输出结果
a
b
c
d
遇到e不打印
f
g



⑤ 循环中的else


循环可以和else配合使用,else下方缩进的代码指的是当循环正常结束之后要执行的代码

1、While…else…语法


语法:

while 条件:
	条件成立重复执行的代码
else:
	循环正常结束之后要执行的代码
	

实例:

需求:道歉5遍媳妇我错了,完成之后执行媳妇原谅我
'''
1、书写道歉的循环
2、循环正常结束要执行的代码 -- else
'''
-------------------------------------------------------
i = 1
while i <= 5:
    print('媳妇,我错了')
    i += 1
else:
    print('原谅我了,哈哈哈')
-------------------------------------------------------
# 输出结果
媳妇,我错了
媳妇,我错了
媳妇,我错了
媳妇,我错了
媳妇,我错了
原谅我了,哈哈哈



2、While else之break


实例:

i = 1
while i <= 5:
    if i == 3:
        print('这遍不真诚')
        break
    print('媳妇,我错了')
    i += 1
else:
    print('原谅我了,哈哈哈')
-------------------------------------------------------
# 输出结果
媳妇,我错了
媳妇,我错了
这遍不真诚

所谓else指的是循环正常结束之后要执行的代码,即如果是break终止循环的情况,else下方缩进的代码将不执行。



3、While else之continue


实例:

i = 1
while i <= 5:
    if i == 3:
        print('这遍不真诚')
        i += 1
        continue
    print('媳妇,我错了')
    i += 1
else:
    print('原谅我了,哈哈哈')
-------------------------------------------------------
# 输出结果
媳妇,我错了
媳妇,我错了
这遍不真诚
媳妇,我错了
媳妇,我错了
原谅我了,哈哈哈

因为continue退出当前一次循环,继续下一次循环,所以该循环在continue控制下是可以正常结束的,当循环结束后,则执行了else缩进的代码。



4、for…else…语法


for 临时变量 in 序列:
	重复执行的代码
	...
else:
	循环正常结束之后要执行的代码
	

所谓的else指的是循环正常结束之后要执行的代码,即如果是break终止循环的情况,else下方缩进的代码将不执行

str1 = 'abcde'
for i in str1:
    print(i)
else:
    print('循环结束后要执行的代码')
-------------------------------------------------------
# 输出结果
a
b
c
d
e
循环结束后要执行的代码



5、for…else…之break和continue


5.1、 for…else…之break(不能正常结束)
str1 = 'abcde'
for i in str1:
    if i == 'e':
        break
    print(i)
# 正常结束执行的代码
else:
    print('循环结束后要执行的代码')
-------------------------------------------------------
# 输出结果
a
b
c
d


5.2、 for…else…之continue(程序正常结束)
str1 = 'abcdef'
for i in str1:
    if i == 'e':
        continue
    print(i)
# 正常结束执行的代码
else:
    print('循环结束后要执行的代码')
-------------------------------------------------------
a
b
c
d
f
循环结束后要执行的代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值