Python循环结构语句

1.循环

  • 广义:一个周期现象或者重复出现的情况,这种状态称为循环
  • 狭义:在满足条件的情况下,反复执行某一段代码,在编程语言中出现的这种循环。被反复执行的这段代码称为循环体
  • Python中提供的循环语句:while语句,for-in语句

2.while循环

  • 循环体是指一组被重复执行的语句
  • 条件表达式返回值为True,执行循环体中语句;执行完毕后,从新判断表达式的值,直到表达式的结果为False时,退出循环。
# 语法:while 条件表达式
#          循环体
#计算1+2+3...+100的和
i = 1
Sum = 0
while i <= 100:
    Sum += i
    i += 1
print(Sum)

2.1 while-else

  • 如果循环条件不具备,循环正常结束的话,会执行else语句块
  • 如果循环时break退出的,则不走else语句
# 语法:while 循环条件:
#         循环体
#      else:
#         语句块
#从键盘输入一个数,判断是否为素数(除1和本身外没有其他除数)
Num = int(input("请输入一个整数:"))
i = 2
while i < Num:
    if Num % i == 0:
        print("这是不是一个素数")
        break
    i += 1
else:
    print("素数")

2.2 死循环

  • 在循环体中表达式永远为真的循环
#条件式永远为真,一直打印输入"Hello,World"
while True:
    print("Hello,World")

2.3 循环的语句套嵌

  • 特点:外层循环走一步,内层循环执行一遍
  • 外层循环和内层循环的循环变量必须不同
  • 内层循环必须完全嵌套到外层循环里面
#语法:while 条件1: 外层循环
#            [语句块A]
#            while 条件2:
#                   [语句块B]
#打印九九乘法表
i = 0
while i < 9:
    i += 1
    j = 1
    while j < i+1:
        print("%dx%d=%2d"%(i,j,i * j),end=' ' )
        j += 1
    print("")

2.4 break和continue,exit(),pass

  • continue语句用来跳过当前循环的剩余语句,然后重新判断循环条件,开启下一次循环。continue只能出现在while和for循环中
  • break用于结束当前的循环。只对当前这一重循环起作用。break只能出现在循环中
  • exit()结束程序
  • pass是占位符,只是为了保证语法的完整性,本身没有什么实际意义
#continue语句终止本次循环不执行后面语句块,直接进入下一次循环但仍在循环中
#当i满足 if i % 2 == 0 的时候,会执行i += 1,不会执行continue后面 sum1 += i i += 1语句,会重新回到while i < 100,只有if条件不满足才会执行最后面两个语句
i = 0
sum1 = 0
while i < 100:
    if i % 2 == 0:
        i += 1
        continue  # 结束本次循环,也就是说continue后面的循环体内的语句不在执行
    sum1 += i
    i += 1

#break语句跳出循环
while True:
    break
print("条件为真,但是break跳出死循环")

#exit()结束程序
print("程序开始")
exit(0)
print("前面exit(0)或者exit()结束程序,不会执行打印这句")

#pass空语句,保障语法完整不加pass会SyntaxError: unexpected EOF while parsing错误
while True:
    pass

3.作业

3.1 计算1到1000内所有基数的和并输出

i = 1
Sum = 0
while i <= 1000:
    Sum += i
    i += 2
print(Sum)

3.2 求1到100之间可以被7整除个数

i = 1
Sum = 0
while i <= 100:
    i += 1
    if i % 7 == 0:
        Sum += 1
print(Sum)

3.3 计算1到100之内所有3的倍数的和

i = 3
Num = 0
while i <= 100:
    Num += i
    i += 3
print(Num)

3.4 计算1到100之内能被3或7整除的数的和并输出

i = 1
Sum = 0
while i <= 100:
    i += 1
    if i % 7 == 0 or i % 3 == 0:
        Sum += i
print(Sum)

3.5 计算1到100以内能被7或者3整除但不能同时被这两者整数的数的个数

i = 1
Sum = 0
while i <= 100:
    i += 1
    if i % 7 == 0 or i % 3 == 0:
        Sum += 1
    if i % 7 == 0 and i % 3 == 0:
        Sum -= 1
print(Sum)

3.6 输出1000以后的所有水仙花数

def Sxh():
    for i in range(100,1000):
        m = i // 100    #整除获得百位数
        n = (i % 100) // 10        #十位数
        k = i % 10       #个位数
        if m**3 + n ** 3 + k ** 3 == i:
            print(i)
#执行程序
Sxh()
发布了10 篇原创文章 · 获赞 1 · 访问量 847

猜你喜欢

转载自blog.csdn.net/Sky_Mazarine/article/details/103953004
今日推荐