Python语言零基础入门——循环

目录

一、while循环

二、for循环

三、break

四、continue

五、pass语句

六、指数爆炸

七、练习题

1.打印出m行n列的图形(*组成的矩阵)

2.打印出n行的字符三角形

3.猴子吃桃问题

4.九九乘法表


一、while循环

python 复制代码
初始条件设置------通常是重复执行的 计数器

while 条件(判断 计数器 是否达到 目标次数):
    条件满足时,任务1
    条件满足时,任务2
    条件满足时,任务3
    ......
    处理条件(计数器 + 1)

例1:打印5次hello Python

python 复制代码
n = 0
while n < 5 :
    print('hello Python')
    n += 1

运行结果:

python 复制代码
hello Python
hello Python
hello Python
hello Python
hello Python

例2:计算1+2+3+......+100的和

python 复制代码
n = 1
result = 0
while n < 101:
    result += n
    n += 1
print(result)

运行结果:

python 复制代码
5050

例3:计算1!+2!+......+n!

python 复制代码
sum = 0
n = 1
while n<=4:
    result = 1
    m = 1
    while m<=n:
        result *= m
        m += 1
    sum += result
    n+=1
print(sum)

运行结果:

python 复制代码
33

二、for循环

python 复制代码
for x in range(5):
    print("python")
  • range()函数可以用来创建一个数字序列,常与for循环结合使用来重复执行代码块指定的次数

例1:打印5次hello Python

python 复制代码
for i in range(5):
    print('hello Python')

运行结果:

python 复制代码
hello Python
hello Python
hello Python
hello Python
hello Python

例2:

python 复制代码
result = 0
for i in range(101):
    result += i
print(result)

运行结果:计算1+2+3+......+100的和

python 复制代码
5050

例3:计算1!+2!+......+n!

python 复制代码
sum = 0
for n in range(5):
    if n>0:
        result = 1
        for i in range(n+1):
            if i>0:
                result *= i
        print(result)
        sum += result
print(sum)

运行结果:

python 复制代码
1
2
6
24
33

三、break

  • 作用:退出循环。在循环过程中,如果某一个条件满足后,不再希望循环继续执行,可以使用break退出循环
  • 注意:只能跳出距离最近的for或者while循环
  • 与else结合:没有通过 break退出循环,循环结束后,会执行else的下级代码
python 复制代码
# 示例1
while True:
    name = input('请输入你的名字:')
    if name == '-17':
        print('输入正确')
        break
    else:
        print('请重新输入')

#示例2
for i in range(10):
    if i>0 and i%3==0:
        print(i)
        break

运行结果:

python 复制代码
# 示例1
请输入你的名字:123
请重新输入
请输入你的名字:-17
输入正确
#示例2
3

例1:判断一个数n是不是质数(while循环实现)

python 复制代码
n = 7
a = 2
while a<n:
    if n%a==0:
        print(n,'不是质数')
        break
    a += 1
if a==n:
    print(n,'是质数')

运行结果:

python 复制代码
7 是质数

例2:判断一个数n是不是质数(for循环实现)

python 复制代码
n = 8
for i in range(2,n):  # 从2开始,到n-1结束,不包括n
    if n%i==0:
        print(n,'不是质数')
        break
else:
    print(n,'是质数')

运行结果:

python 复制代码
8 不是质数

四、continue

  • 作用:跳过本次循环后面的剩余语句,然后继续下一次循环
  • 注意:只能跳过距离最近的for或者while循环
python 复制代码
for i in range(5):
    if i==2:
        continue
    print(i)

运行结果:

python 复制代码
0
1
3
4

五、pass语句

  • 作用:当语句要求不希望任何命令或代码来执行时使用
  • 说明:pass语句表示一个空操作,在执行时没有任何的响应,pass的位置最终应该有代码来执行,只不过暂时写不出来
  • 可以使用在流程控制和循环语句中

六、指数爆炸

python 复制代码
# 纸的厚度
print('*****纸的厚度*****')
n = 0.1
w = n
for i in range(10):
    w *= 2
    print(w)

# 国王麦粒
print('*****国王麦粒*****')
g = 1  # 当前格子应该放的麦粒数
total = 0  # 总麦粒数
a = 0  # 棋盘格子数量
while a<=10:
    total += g
    print('在放满了%d个格子后,总的麦粒数是%d' % (a, total))
    a += 1
    g *= 2

# 人生的复利
print('*****人生的复利*****')
day = 0
total = 1
while day<365:
    total = total*1.01  # 每天进步0.01
    day += 1
print(total)

运行结果:

python 复制代码
*****纸的厚度*****
0.2
0.4
0.8
1.6
3.2
6.4
12.8
25.6
51.2
102.4
*****国王麦粒*****
在放满了0个格子后,总的麦粒数是1
在放满了1个格子后,总的麦粒数是3
在放满了2个格子后,总的麦粒数是7
在放满了3个格子后,总的麦粒数是15
在放满了4个格子后,总的麦粒数是31
在放满了5个格子后,总的麦粒数是63
在放满了6个格子后,总的麦粒数是127
在放满了7个格子后,总的麦粒数是255
在放满了8个格子后,总的麦粒数是511
在放满了9个格子后,总的麦粒数是1023
在放满了10个格子后,总的麦粒数是2047
*****人生的复利*****
37.783434332887275

七、练习题

1.打印出m行n列的图形(*组成的矩阵)

python 复制代码
m = 4
n = 5
for i in range(m):
    print('*'*n)

运行结果:

python 复制代码
*****
*****
*****
*****

2.打印出n行的字符三角形

python 复制代码
n = 8
for i in range(n):
    print(' '*(n-1-i) + '*'*(i*2+1))

运行结果:

python 复制代码
       *
      ***
     *****
    *******
   *********
  ***********
 *************
***************

3.猴子吃桃问题

一只小猴买了若干个桃子。第一天他刚好吃了这些桃子的一半,又贪嘴多吃了一个;第二天他也刚好吃了乘桃子的一半,贪嘴多吃了一个;第三天他又刚好吃了剩下的桃子的一半,并贪嘴多吃了一个。第四天起来一看,发现桃子只剩下一个了。请问小猴买了几个桃子?

python 复制代码
# 猴子吃桃 -- 穷举法
peach = 1
while True:
    d1 = peach//2 -1
    d2 = d1//2 - 1
    d3 = d2//2 - 1
    if d3 == 1:
        print(peach)
        break
    peach += 1

运行结果:

python 复制代码
22

4.九九乘法表

python 复制代码
for i in range(9):
    for j in range(i+1):
        print('%d×%d=%d' % (j+1,i+1,(j+1)*(i+1)),end=' ')
    print()

运行结果:

python 复制代码
1×1=1 
1×2=2 2×2=4 
1×3=3 2×3=6 3×3=9 
1×4=4 2×4=8 3×4=12 4×4=16 
1×5=5 2×5=10 3×5=15 4×5=20 5×5=25 
1×6=6 2×6=12 3×6=18 4×6=24 5×6=30 6×6=36 
1×7=7 2×7=14 3×7=21 4×7=28 5×7=35 6×7=42 7×7=49 
1×8=8 2×8=16 3×8=24 4×8=32 5×8=40 6×8=48 7×8=56 8×8=64 
1×9=9 2×9=18 3×9=27 4×9=36 5×9=45 6×9=54 7×9=63 8×9=72 9×9=81 
相关推荐
databook8 小时前
Manim实现闪光轨迹特效
后端·python·动效
Juchecar9 小时前
解惑:NumPy 中 ndarray.ndim 到底是什么?
python
用户8356290780519 小时前
Python 删除 Excel 工作表中的空白行列
后端·python
Json_9 小时前
使用python-fastApi框架开发一个学校宿舍管理系统-前后端分离项目
后端·python·fastapi
数据智能老司机16 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机17 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机17 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机17 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i17 小时前
drf初步梳理
python·django
每日AI新事件17 小时前
python的异步函数
python