Python基础——流程控制语句3(循环语句、循环语句练习、循环嵌套、循环嵌套练习)

一、循环语句

  • 循环语句可以使指定的代码块重复指定的次数
  • 循环语句分成两种,while循环 和 for循环

1.1 while循环

1.1.1 语法
while 条件表达式 :
    代码块
else :
    代码块
1.1.2 执行流程
  • while语句在执行时,会先对while后的条件表达式进行求值判断,
    • 如果判断结果为True,则执行循环体(代码块),
    • 循环体执行完毕,继续对条件表达式进行求值判断,以此类推,
    • 直到判断结果为False,则循环终止,如果循环有对应的else,则执行else后的代码块
条件表达式恒为True的循环语句,称为死循环,它会一直运行,慎用!
# while True :
#     print('hello')
循环的三个要件(表达式)
  • 初始化表达式
  • 条件表达式
  • 更新表达式
# 初始化表达式,通过初始化表达式初始化一个变量
# i = 0

# # 条件表达式,条件表达式用来设置循环执行的条件
# while i < 10 :
#     print(i)
#     # 更新表达式,修改初始化变量的值
#     i += 1

# 创建一个执行十次的循环
i = 0
while i < 10 :
    i += 1
    print(i,'hello')
else :
    print('else中的代码块')

在这里插入图片描述

二、练习

2.1 练习1

求100以内所有的奇数之和
# 获取所有100以内数
i = 0
# 创建一个变量,用来保存结果
result = 0
while i < 100 :
    i += 1
    # 判断i是否是奇数
    if i % 2 != 0:
        result += i

print('result =',result)

在这里插入图片描述

2.2 练习2

求100以内所有7的倍数之和,以及个数
i = 7 
# 创建一个变量,来保存结果
result = 0
# 创建一个计数器,用来记录循环执行的次数
# 计数器就是一个变量,专门用来记录次数的变量
count = 0
while i < 100:
    # 为计数器加1
    count += 1
    result += i
    i += 7    

print('总和为:',result,'总数量为:',count)

在这里插入图片描述

2.3 练习3

求1000以内所有的水仙花数
  • 水仙花数是指一个 n 位数(n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身(例如:13 + 53 + 3**3 = 153)
# 获取1000以内的三位数
i = 100
while i < 1000:

    # 假设,i的百位数是a,十位数b,个位数c
    # 求i的百位数
    a = i // 100
    # 求i的十位数
    # b = i // 10 % 10
    b = (i - a * 100) // 10
    # 求i的个位数字
    c = i % 10
    # print(i , a , b , c)
    
    # 判断i是否是水仙花数
    if a**3 + b**3 + c**3 == i :
        print(i)
    i += 1

在这里插入图片描述

2.4 练习4

获取用户输入的任意数,判断其是否是质数
num = int(input('输入一个任意的大于1的整数:'))

# 判断num是否是质数,只能被1和它自身整除的数就是质数
# 获取到所有的可能整除num的整数
i = 2
# 创建一个变量,用来记录num是否是质数,默认认为num是质数
flag = True
while i < num:
    # 判断num能否被i整除
    # 如果num能被i整除,则说明num一定不是质数
    if num % i == 0 :
        # 一旦进入判断,则证明num不是质数,则需要将flag修改为false
        flag = False
    i += 1

if flag :
    print(num,'是质数')
else :
    print(num,'不是质数')

在这里插入图片描述

三、循环嵌套

3.1 在控制台中打印如下图形

*****
*****
*****
*****
*****
# 创建一个循环来控制图形的高度
# 循环嵌套时,外层循环没执行一次,内存循环就要执行一圈
i = 0
while i < 5:
    # 创建一个内层循环来控制图形的宽度
    j = 0
    while j < 5:
        print("* ",end='')
        j += 1
    print()
    i += 1

在这里插入图片描述

3.2 在控制台中打印如下图形

* 
* * 
* * * 
* * * * 
* * * * *
i = 0
while i < 5:
    j = 0
    while j < i + 1:
        print("* ",end='')
        j += 1
    print()
    i += 1

在这里插入图片描述

四、循环嵌套练习

4.1 练习1

打印99乘法表
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
...                 9*9=81
# 创建一个外层循环来控制图形的高度
i = 0
while i < 9:
    i += 1
    
    # 创建一个内层循环来控制图形的宽度
    j = 0
    while j < i:
        j += 1
        print(f"{j}*{i}={i*j} ",end="")

    print()

在这里插入图片描述

4.2 练习2

求100以内所有的质数
# 创建一个循环,求1-100以内所有的数
i = 2
while i <= 100:
    
    # 创建一个变量,记录i的状态,默认认为i是质数
    flag = True

    # 判断i是否是质数
    # 获取所有可能成为i的因数的数
    j = 2 
    while j < i:
        # 判断i能否被j整除
        if i % j == 0:
            # i能被j整除,证明i不是质数,修改flag为False
            flag = False
        j += 1
    # 验证结果并输出
    if flag :
        print(i, end=',')   

    i += 1

在这里插入图片描述

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值