'''

三目元算符(三元表达式)

作用:化简代码

条件成立执行表达式 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的