目录
循环结构
两种循环结构
-
for-in结构
-
while结构
for-in结构
其中的range(),用法比较灵活,具体说明有关数字的
- range(101):0~100的整数
- range(0,100):0~99的整数
- range(1,101,2):1~100中的奇数,步长为2
- range(100,0,-2):100~1逆序中的偶数
while结构
可以构造不知道循环次数的循环结构,如while(True)。
while
循环通过一个能够产生或转换出bool
值的表达式来控制循环,表达式的值为True
则继续循环;表达式的值为False
则结束循环。
其中break,continue都可以用来跳出循环,不论是for-in还是while。
练习
- 1~100花样求和
- 猜数字小游戏
- 输入两个正整数,计算最大公因数和最小公倍数
- 打印各种三角形图案
#1~100 求和
sum = 0
for i in range(1,101):
#print(i)
sum += i
print(sum)
#1~100 中奇数求和
sum = 0
for i in range(1,101,2):
#print(i)
sum += i
print(sum)
#1~100 偶数求和
sum = 0
for i in range(0,101,2):
#print(i)
sum += i
print(sum)
#1~100 逆向求和
sum = 0
for i in range(100,0,-1):
#print(i)
sum += i
print(sum)
#1~100 逆向偶数求和
sum = 0
for i in range(100,0,-2):
#print(i)
sum += i
print(sum)
#1~100 逆向奇数求和
sum = 0
for i in range(99,0,-2):
#print(i)
sum += i
print(sum)
#猜数字小游戏
import random
secret = random.randint(1,100)
count = 0
guess = 0
while count<10:
guess = int(input('please input number:'))
if guess > secret:
print('too big')
elif guess < secret:
print('too small')
else:
print('right!')
break
count += 1
print('你总共猜了%d次' % count)
#输入两个正整数,计算最大公因数和最小公倍数
x = int(input())
y = int(input())
#保持x<y
if x > y:
x, y = y, x
#从较小数x开始递减循环
for factor in range(x, 0, -1):
if x % factor == 0 and y % factor == 0:
print('%d和%d最大公约数是%d' % (x, y, factor))
#最小公倍数 = x*y/最大公因数
print('%d和%d最小公倍数是%d' % (x, y, x*y/factor))
break
#打印各种三角形图案
for row in range(1,6):
for star_number in range(1,row+1):
print('*', end = '')
print()
print()
for row in range(5,0,-1):
for null_number in range(row,1,-1):
print(' ', end='') #确定空格的数量,确定空格数量和row的联系
for star_number in range(1,7-row):
print('*', end='') #
print()
print()
for row in range(1,6):
for null_number in range(0,5-row):
print(' ', end='') #确定空格的数量,确定空格数量和row的联系
for star_number in range(1,2*row):
print('*', end='')
print()
各种三角形具体的图案