'''
三目元算符(三元表达式)
作用:化简代码
条件成立执行表达式 if 条件 else 条件不成立的表达式
从左至右读代码
'''
a = 1
b = 2
c = a if a>b else b
print(c)
'''
while 条件:
条件成立执行的代码1
条件成立执行的代码1
......
'''
i = 0
while i < 5:
print("好好学习!")
i += 1
'''
应用一:1~100的数字累加和
1+2+3+4+...+100
1、准备做加法运算的数据 1-100 增量为1
2、准备变量保存将来运算的结果
3、循环做加法运算
4、打印结果
5、验证结果
'''
i = 1
result = 0
while i<=100:
result += i # result = result + i
i += 1
print(result)
'''
应用二:1-100的偶数累加和 2+4+6+...+100
方法一:加入判断语句,i/2=0则为偶数,偶数则累加
1、准备做加法运算的数据 1-100 增量为1
2、准备变量保存将来运算的结果
3、循环做加法运算 偶数才加 和2取余为0
4、打印结果
5、验证结果
# 方法一
i = 1
result = 0
while i<=100:
if i % 2 == 0 :
result += i # result = result + i
i += 1
print(result)
方法二:直接从0开始,每次累加2
1、准备做加法运算的数据 0-100 增量为2
2、准备变量保存将来运算的结果
3、循环做加法运算
4、打印结果
5、验证结果
'''
# 方法二
i = 0
result = 0
while i<=100:
result += i # result = result + i
i += 2 # 必须带计数器的累加,不然while会陷入死循环
print(result)
"""
braek和continue
braek和continue是循环中满足一定条件退出循环的两种不同方式
举例:一共吃5个苹果,吃完第一个,吃第二个..,这里"吃苹果"的动作是不是重复执行?
情况一︰如果吃的过程中,吃完第三个吃饱了,则不需要再吃第4个和第五个苹果,即是吃苹果的动作停止,这里就是break控制循环流程,即终止此循环。
情况二︰如果吃的过程中,吃到第三个吃出一个大虫子....是不是这个苹果就不吃了,开始吃第四个苹果,这里就是continue控制循环流程,即退出当前一次循环继而执行下一次循环代码。
"""
'''
情况一 break (当某些条件成立时,退出整个循环):
1、定义一个变量i 用来计数
2、用while循环,表示吃苹果
3、用if判断迟到第四次时不吃苹果了,输出“吃饱了“
4、否则输出“吃了第i个苹果”
'''
i = 1
while i<=5:
if i == 4:
print(f'吃饱了')
break
print(f"吃了第{i}个苹果")
i += 1
'''
第二种情况:continue
退出当前一次循环,进入下一次循环
当吃到第三个苹果的时候吃出一个大虫子,不吃第三个吃第四个
使用continue时,需要重新写一边计数器,不然会导致程序陷入死循环
'''
i = 1
while i <= 5:
if i == 3:
print(f"吃出一个大虫子,这个苹果不吃了")
i += 1
print(f"吃了第{i}个苹果")
i += 1
'''
故事梗概︰有天女朋友又生气了,惩罚︰说3遍"媳妇儿,我错了",这个程序是不是循环即可?但如果女朋友说:还要刷今天晚饭的碗,这个程序怎么书写?
while 条件:
print("媳妇儿,我错了')
print('刷晚饭的碗")
但如果女朋友还是生气,把这套惩罚要连续3天都执行,有如何书写程序?
while 条件:
while 条件:
print(f"媳妇儿,我错了")
print(f"刷晚饭的碗")
语法:
while 条件1:
条件1成立执行的代码
...
while 条件2:
条件2成立时执行的代码
...
所谓while循环嵌套,就是在while里面嵌套一个while的写法,每个while和之前的基础语法是相同的
'''
'''
场景复现:
1、重复三遍:媳妇,我错了
先写一个计数器j用来计数重复三遍“媳妇,我错了”,并用while表示循环
2、今天晚上刷碗,刷碗只进行一遍,不用加入循环
3、将“媳妇,我错了”、“今天晚上刷碗”这两件事看做一天的事情,需要进行3天,在加最外层加上一个while循环
'''
i = 1
while i <= 3:
j = 1
while j <= 3:
print(f'媳妇,我错了')
j +=1
print(f'今天晚上刷碗')
print(f'----------------------')
i += 1
for循环:
语法:
for 临时变量 in 序列:
重复执行代码1
重复执行代码2
......
注: 临时变量为程序员自定义 序列为数据序列(一个数据内部有多个数据组成的称为序列)
'''
a = 'NEFU'
for i in a:
print(i)
print()
'''
break和for结合使用
'''
a = 'NEFU'
for i in a:
# 当遇到某些条件成立后退出循环 遇到F
if i == 'F':
print(f"遇到F不打印")
break
print(i)
print()
'''
continue和for结合使用
'''
a = 'NEFU'
for i in a:
# 当遇到某些条件成立后退出终止本次循环,接着下一次循环 遇到F
if i == 'F':
print(f"遇到F不打印")
continue
print(i)
'''
else
循环可以和else配合使用,else下方缩进的代码指得是:当循环正常结束后要执行的代码
while ... else
语法:
while 条件:
条件成立重复执行的代码
else :
条件成立重复执行的代码
'''
# 需求:跟女朋友说5遍“媳妇,我错了”,如果道歉完毕女朋友就原谅我了
i = 1
while i <= 5:
print(f'媳妇,我错了')
i += 1
else:
print(f'媳妇原谅我了')
for循环:
语法:
for 临时变量 in 序列:
重复执行代码1
重复执行代码2
else :
条件成立重复执行的代码
......
break:代表循环非正常结束,不执行else
continue:退出当前一次循环,继续下一次循环,所以再循环结束后是可以执行else的