Python学习笔记(五)条件语句&&循环语句
一、条件语句
1.if语法
if 条件:
条件成立执行的代码1 #注意缩进,若代码未缩进,则与if语句条件真假无关
条件成立执行的代码2
......
2.if实例
# 上网简单版程序
age = 20
if age >= 18:
print('已经成年,可以上网')
print('系统关闭')
# 上网进阶版程序
age = int(input('请输入年龄:'))
#注意input接收的数据是str,不能与18整型变量比较--int转换类型
if age >= 18:
print(f'您输入的年龄{age},已经成年,可以上网')
print('您输入的年龄%s,已经成年,可以上网'%age)
print('系统关闭')
3.if…else…
语法:
if 条件:
条件成立执行的代码1
条件成立执行的代码2
else:
条件不成立执行的代码1
条件不成立执行的代码2
# 上网进阶版程序2
age = int(input('请输入年龄:'))
if age >= 18:
print(f'您输入的年龄{age},已经成年,可以上网')
else:
print(f'您输入的年龄{age},没有成年,回家写作业吧')
print('系统关闭')
注意:如果某些条件成立执行了相关代码,那么其他情况的代码解释器根本不会执行。
4.多重判断
语法:
if 条件1:
条件成立执行的代码1
条件成立执行的代码2
......
elif 条件2:
条件不成立执行的代码1
条件不成立执行的代码2
......
......
else:
以上条件都不成立时执行的代码
#多重判断实例
age = int(input('请输入年龄:'))
if age < 18:
print(f'您输入的年龄是{age},童工' )
elif (age >= 18) and (age <= 60):
print(f'您输入的年龄是{age},合法' )
elif age > 60:
print(f'您输入的年龄是{age},退休')
5.if嵌套
语法:
if 条件1:
......
......
if 条件2:
......
......
# 多重if判断坐公交实例
money = 1
seat = 0
if money == 1:
print('请上车')
if seat == 1:
print('请坐')
else:
print('先站着等等')
else:
print('没有钱,不能上车')
结果截图:
6.应用:猜拳游戏
电脑“随机出拳”做法:
Python 中产生随机数的方法
'''
步骤;
1.导入模块
import random
2.使用这个模块中的功能
random.randint()
'''
import random
num = random.randint(0,2)
print(num)
#猜拳游戏完整代码(电脑随机出拳,不固定)
'''
1.出拳
玩家:手动输入
电脑:1.固定:剪刀 2.随机
2.判断输赢
2.1玩家获胜
2.2平局
2.3电脑获胜
'''
import random
# 1.出拳
# 玩家
player = int(input('请出拳:0--石头;1--剪刀;2--布:'))
#电脑
computer = random.randint(0,2)
print(f'电脑出拳为(0--石头;1--剪刀;2--布):{computer}')
# 2.判断输赢
# 玩家获胜
if (player == 0 and computer == 1) or (player == 1 and computer == 2) or (player == 2 and computer == 0) :
print('玩家获胜,哈哈哈')
# 平局
elif player == computer:
print('平局,别走,再来一局')
# 电脑获胜
else:
print('电脑获胜,呜呜呜')
7.三目运算符
三目运算符也叫 三元运算符 或者***三元表达式***
语法如下:
条件成立执行的表达式 if 条件 else 条件不成立执行的表达式
例子:
a = 1
b = 2
# 用三目运算符返回a和b中较大的数字
c = a if a > b else b
print(c) #c = b
# 需求:有两个变量,比较大小。如果变量1 > 变量2,执行变量1 - 变量2;反之执行 变量2 - 变量1
aa = 4
bb = 23
c = (aa-bb)if (aa>bb) else(bb-aa)
print(c)
8.总结
-if语句语法
if 条件:
条件成立执行的代码
-if…else…
if 条件:
条件成立执行的代码
else:
条件不成立执行的代码
-多重判断
if 条件1:
条件1成立执行的代码
elif 条件2:
条件2成立执行的代码
...
else:
以上条件都不成立执行的代码
-if嵌套
if 条件1:
条件1成立执行的代码
if 条件2:
条件2成立执行的代码
...
以上条件都不成立执行的代码
-三目运算符
条件成立执行的代码 if 条件 else 条不成立执行的代码
二、循环语句
1.循环作用
循环的作用使代码更加高效。
2.循环分类
在Python中,循环分为while和for两种,最终实现效果相同。
3.while语句
3.1例子
'''
while 条件:
条件成立重复执行的代码
'''
i = 0 #计数器一般从0开始(小细节)
while i < 5:
print('我错了')
i += 1 #不能写i++
3.2 应用:计算1-100累加和
# while循环计算1-100累加和:1+2+3+4+...+100
i = 1
result = 0
while i <= 100:
result += i
i += 1
print(result)
3.3 应用:计算1-100偶数累加和
# while循环计算1-100偶数累加和:2+4+6+...+100
#方法一;条件判断和2取余数则累加
i = 1
result = 0
while i <= 100 :
if i % 2 == 0: #偶数
result += i
i += 1
print(result)
#方法二;计数器每次累加2
j = 0
result1 = 0
while j <= 100 :
result1 += j
j += 2
print(result1)
实验截图:
注意:从代码量看起来,方法二似乎更简单一定,但这种方法是人为的筛选偶数。方法一的关于偶数的条件判断“i%2 == 0”是计算机在做筛选与计算。
4.break语句和continue
break和continue是循环中满足一定条件退出循环的两种不同的方式。
#情况一:(吃饱了就不吃了)--break
print('情况一:')
i = 1
while i <= 5 :
if i > 3:
print('吃饱了')
break
print(f'吃了第{i}个苹果')
i += 1
#情况一:(吃到坏的不吃,继续吃下一个)--continue,遇到continue退出当前一次执行下一次
print('情况二:')
i=1
while i <= 5:
if i == 3:
print('吃出来大虫子,这个苹果不吃了')
i += 1 #如果使用continue,在continue之前一定要修改计数器,否则陷入死循环
continue
print(f'吃了第{i}个苹果')
i += 1
实验截图:
注意:
在使用continue的时候,一定要记得,!!在continue语句前面把计数器修改了,否则程序将陷入死循环。
5.while循环嵌套
语法:
例子:
6.应用一:打印星号(正方形)
需求:
代码:
分析:一行打印五个星号,重复打印五行
#重复打印5行星星
j = 0
while j <= 4:
# 一行星星的打印
i = 0
while i <= 4:
# 一行内的星星不能换行,取消print默认结束符\n
print('*',end='')
i += 1
#每行结束要换行,这里借助一个空的print,利用print默认结束符换行
print()
j += 1
结果截图:
7.应用二:打印星号(三角形)
需求:
代码:
分析:一行的星星的个数与行号是相等的。
# 打印星号(三角形)
i = 0
while i < 5 :
j = 0
while j <= i:
print('*',end='')
j += 1
print()
i += 1
实验截图:
8.应用三:打印九九乘法表
代码:(里面有小细节,要多练习)
#九九乘法表
i = 1 #行的计数器i
while i <= 9 : #列的计数器j
j = 1
while j <= i : #一行表达式数目与行号数相等
print(f'{j}*{i}={j*i}',end='\t')
j += 1
print()
i += 1
实验截图:
9.for循环
语法:
'''
for 临时变量 in 序列:
重复执行的代码
'''
str1 = 'itheima'
for i in str1:
print(i,end='\t')
实验截图:
10.和for循环配合使用的break,终止整个大循环
# break
str1 = 'itheima'
for i in str1:
if i == 'e':
print('遇到e不打印了')
break
print(i,end='\t')
实验截图:
11.和for循环配合使用的continue,终止当前小循环,进入下轮循环
# continue
str1 = 'itheima'
for i in str1:
if i == 'e':
continue
print(i,end='\t')
实验截图:
12.else
循环可以和else配合使用,else下方缩进的代码是当循环正常结束后要执行的代码,循环没有正常结束不会执行else后的代码。
12.1 while…else…
语法:
代码:
#需求:道歉5遍我错了,完成之后执行原谅我了
i = 0
while i < 5:
print('我错了')
i += 1
else:
print('原谅我了,真开心哈哈哈哈')
结果截图:
12.2break退出循环对else的影响
i = 1
while i <= 5:
if i == 3:
print('这遍说的不真诚')
break
print('我错了')
i += 1
else:
print('原谅你啦')
结果截图:
12.3 continue退出循环对else的影响
i = 1
while i <= 5:
if i == 3:
print('这遍说的不真诚')
i += 1
continue
print('我错了')
i += 1
else:
print('原谅你啦')
结果截图:
12.4 for…else…
str1 = 'itheima'
for i in str1:
print(i,end='\t')
else:
print('循环正常结束')
结果截图:
12.4 for…else…之break和continue
#break
str1 = 'itheima'
for i in str1:
if i == 'm':
break
print(i, end='\t')
else:
print('循环正常结束')
print()
#continue
for i in str1:
if i == 'm':
continue
print(i, end='\t')
else:
print('循环正常结束')
结果截图:
13.总结