Python 中while循环与while循环嵌套

目录

一、while循环

二、while循环嵌套与案例

三、for与while都可使用else

(一)if……else

(二)for……else

(三)while……else


一、while循环

while格式如下:

while 条件:

        pass

  • 默认开门(条件为真)随着程序的执行要有关门(条件为假)
  • while 循环内部需要将条件设置为false 否则成了死循环
can_open = True
while can_open:
    print("===")
    can_open = False
print("哈哈")

Python 中while循环与while循环嵌套_第1张图片

二、while循环嵌套与案例

练习1:使用while循环打印十次醒醒啦

# 法一
i = 1
while i <= 10:
    print("醒醒啦")
    i += 1

# 法二
count = 0
while True:
    print("醒醒啦")
    count += 1
    if count == 10:
        break

Python 中while循环与while循环嵌套_第2张图片

练习2:每次输入一个整数,求输了几次,前面所有整数的和大于100

total = 0
count = 0
while True:
    value = int(input("输入一个整数"))
    count += 1
    total += value
    if total > 100:
        break
print(count)

Python 中while循环与while循环嵌套_第3张图片

练习4:随机生成一个5-10之间生成的整数,请问随机生成多少次,数字的累加和大于100

import random

total = 0
count = 0
while total <= 100:
    value = random.randint(5, 10)
    print(value)
    count += 1
    total += value

print(f"需要生成{count}次")

Python 中while循环与while循环嵌套_第4张图片

练习5:使用while循环画9*9乘法表

# 法一
i = 1
while i <= 9:
    j = 1
    while j <= i:
        print(f"{j} * {i} = {i * j}", end="\t")
        j += 1
    i += 1
    print()

# 法二
i = 1
while True:
    j = 1
    while j <= i:
        print(f"{j} * {i} = {i * j}", end="  ")
        j += 1
    i += 1
    print()
    if i > 9:
        break

Python 中while循环与while循环嵌套_第5张图片

练习6:生成一个沙漏图形

i = 1
while i < 10:
    j = 1
    while j < 10:
        if i + j >= 10 and j <= i or j >= i and i + j <= 10:
            print(" * ", end="")
        else:
            print("   ", end="")
        j += 1
    i += 1
    print()

Python 中while循环与while循环嵌套_第6张图片

三、for与while都可使用else

(一)if……else

if 10 > 50:
    print("好开心")
else:
    print("呜呜呜")

(二)for……else

for i in range(10):
    if i == 3:
        # continue 会终止某一次循环 不会导致else不循环
        # continue
        # break会终止整个循环导致else不会执行
        break
    print(i)
else:
    print("for循环完整")

Python 中while循环与while循环嵌套_第7张图片

for i in range(10):
    if i == 3:
        # continue 会终止某一次循环 不会导致else不循环
        continue
        # break会终止整个循环导致else不会执行
        # break
    print(i)
else:
    print("for循环完整")

Python 中while循环与while循环嵌套_第8张图片

练习7:求1000以内的十个最小的质数

count = 0
for i in range(2, 1001):
    for j in range(2, i):
        if i % j == 0:
            break
    else:
        count += 1
        print(i)
        if count == 10:
            break

Python 中while循环与while循环嵌套_第9张图片

(三)while……else

i = 0
while i < 10:
    i += 1
    if i == 3:
        break
    print(i)

else:
    print("while 正常结束")

Python 中while循环与while循环嵌套_第10张图片

练习8:使用while循环判定一个数字是不是质数

value = 100
flag = True
i = 2
while i < value:

    if value % i == 0:
        flag = False
        print("不是")
        break
    i += 1
if flag:
    print("是")

练习9:1000以内最大的十个质数

value = 1000
count = 0
while value <= 1000:
    i = 2
    while i < value:
        if value % i == 0:
            break
        i += 1
    else:
        count += 1
        if count <= 10:
            print(value)
    value -= 1

Python 中while循环与while循环嵌套_第11张图片

Python 中while循环与while循环嵌套_第12张图片

你可能感兴趣的:(算法)