05:python 循环结构(笔记)

在Python中构造循环结构有两种做法,一种是for-in循环,另一种是while循环

(循环结构,就是程序中控制某条或某些指令重复执行的结构)

for - in 循环

明确的知道循环执行的次数,推荐使用for-in循环

例如:

total = 0
for x in range(1, 101):
    total += x
print(total)

关于range函数使用方法:

  • range ( 101 ) : 产生0到100范围的整数
  • range ( 1, 101 ) : 产生1到100范围的整数,相当于前面是闭区间后面是开区间
  • range ( 1, 101, 2 ) : 产生1到100的奇数,其中2是步长,既每次递增的值
  • range (100, 0, -2) : 产生100到1的偶数,其中-2是步长,即每次递减的值

求 :1 ~100 之间的偶数求和

total = 0
for x in range(2, 100, 2):
    total += x
print(total)

运算结果:

2450

while 循环

要构造不知道具体循环次数的循环结构,推荐使用while循环。

import random
answer = random.randint(1, 100)
counter = 0
while True:
    counter += 1
    number = int(input('请输入:'))
    if number < answer:
        print('大一点')
    elif number > answer:
        print('小一点')
    else:
        print('恭喜你猜对了!')
        break
print(f'你总共才了{counter}次')

break和continue

break 关键字,它的作用是提前结束循环。需要注意的是,break只能终止它所在的那个循环。

除了break之外,还有另一个关键字是continue,它可以用来放弃本次循环后续的代码直接让它循环进行下一轮。

嵌套的循环结构

和分支结构一样,循环结构也是可以嵌套的,也就是说在循环中还可以构造循环结构。

例如:乘法口诀

for i in range(1, 10):
    for j in range(1, i+1):
        print(f'{i}*{j}={i*j}',end='\t')
    print()

运行结果:

1*1=1    
2*1=2    2*2=4    
3*1=3    3*2=6    3*3=9    
4*1=4    4*2=8    4*3=12    4*4=16    
5*1=5    5*2=10    5*3=15    5*4=20    5*5=25    
6*1=6    6*2=12    6*3=18    6*4=24    6*5=30    6*6=36    
7*1=7    7*2=14    7*3=21    7*4=28    7*5=35    7*6=42    7*7=49    
8*1=8    8*2=16    8*3=24    8*4=32    8*5=40    8*6=48    8*7=56    8*8=64    
9*1=9    9*2=18    9*3=27    9*4=36    9*5=45    9*6=54    9*7=63    9*8=72    9*9=81    
 


循环例子:

例子:输入一个正整数判断它是不是素数。

num = int(input('请输入一个正整数:'))
end = int(num ** 0.5)
is_prime = True
for x in range(2, end + 1):
    if num % x == 0:
        is_prime = False
        break
if is_prime and num != 1:
    print(f'{num}是素数')
else:
    print(f'{num}不是素数')

例子2:输入两个正整数,计算它们的最大公约数和最小公倍数

x = int(input('x = '))
y = int(input('y = '))
for factor in range(x, 0, -1):
    if x % factor == 0 and y % factor == 0:
        print(f'{x}和{y}的最大公约数是{factor}')
        print(f'{x}和{y}的最小公倍数是{x * y // factor}')
        break

你可能感兴趣的:(Python,(jackfrued)笔记,python,开发语言)