一,range数列
range数列包括 开始(默认为0) 结束(必须有) 步长(默认为1)
代码如下(示例):
value = range(1, 10)
print(list(value))
使步长为2 每次数值增加2
代码如下(示例):
value = range(1, 10, 2)
print(list(value))
二,for循环
循环结构:循环,多次执行
将range的值循环赋予i
代码如下(示例):
for i in range(50):
print("U", i)
循环的变量可以是字符串 列表 数组 不能是 整数 浮点数 布尔值 空值
他们是一个整体不能作为循环使用
代码如下(示例):
for i in "lalalalalalalala":
print(i)
例题: 计算1-100之间所有数的和
代码如下(示例):
sum1 = 0
for i in range(1, 101):
sum1 += i
print(sum1)
计算1-500之间所有3的倍数的和的平均数
代码如下(示例):
num = 0
g = 0
for i in range(1, 500, 3):
# print(i)
num = num + i
g = g + 1
print(num / g)
三,break与continue
break可以终止程序的循环,循环退出。
continue可以跳过此次循环,执行下一次。
代码如下(示例):
for i in range(10):
if i == 4:
# break
continue
print(i)
s = 0
g = 0
for i in range(500, 2121):
if i % 5 == 0:
s += i
g += 1
if g == 10:
break
print(s / 10)
四,for循环的嵌套使用
同分支语句一样,循环一样可以嵌套使用。
对于for循环的嵌套来说,只需要记住一句话就可以:外层循环一次,内层循环一轮。
代码如下(示例):
for i in range(5):
for j in range(5):
print(i, j)
例题:输入一个数求他的阶乘和
对于这道来说,用for循环的嵌套比较合适。
代码如下(示例):
# 让用户输入一个数字
num = int(input("输入一个数字"))
# 定义一个变量用来接收用户输入数的阶乘,不能从0开始
totle = 1
# 定义一个变量来接收总和的值
sum1 = 0
# 使用循环来找到1到输入的这个数
for i in range(1, num+1):
# 再次循环找到阶乘的数
for j in range(1, i+1):
# 开始累加
sum1 += totle
# 开始阶乘
totle *= j
打印九九乘法表
代码如下(示例):
for i in range(1, 10):
for j in range(1, i+1):
print(f"{j} * {i} = {j*i}", end = " ")
print()
五,while循环
while循环的条件为真时 程序会一直执行 开门条件
while条件为假时程序会停止执行 关门条件
代码如下(示例):
op = True
while op:
print("******")
op = False
print("&&&")
如果没有终止条件,那循环会一直进行。
会进入一个死循环
代码如下(示例):
while True:
print("*")
这里我们演示了,while循环如果没有终止条件的话,程序就会一直执行。
所以while的使用一定要有一个开始条件和一个结束条件。
六,while循环嵌套
与for循环一样,while循环同样支持嵌套使用。下面我们来使用while循环的嵌套来打印九九乘法表。
代码如下(示例):
i = 1
while i <= 9:
j = 1
while j <= i:
print(f"{j} * {i} = {i * j}", end="\t")
j += 1
print()
i += 1
下面我们来使用wile的循环嵌套来打印一个漏斗形状的图形
代码如下(示例):
i = 0
while i <= 8:
j = 0
while j <= 8:
if i + j <= 8 and i <= j or i + j >= 8 and i >= j:
print(" * ", end="\t")
else:
print(" ", end="\t")
j += 1
print()
i += 1
七,for与while都可以使用else
在python中循环有一种独特的用法
此方法仅在python中适用,其它编程语言不可以使用。
代码如下(示例):
for i in range(10):
# if i > 5:
# break
if i == 3:
break
# continue 会跳过此次循环
print(i)
else:
print("kun")
for循环下面的条件如果执行了,else就不会执行
换句话来说for循环下面的条件如果执行了,那么else下面的条件就不会执行。
它们两个只能执行一个
例题:输出1到1000 最大的10个质数
代码如下(示例):
count = 0
for i in range(2, 1001):
for j in range(2, i):
if i % j == 0:
break
else:
print(i)
count += 1
if count == 10:
break
while和else的使用
用法同for循环一样
代码如下(示例):
# 输入一个数判断这个数是不是质数
num = int(input("输入一个数"))
i = 2
while i < num:
if num % i == 0:
print("不是质数")
break
i += 1
else:
print("是质数")
例题:使用while循环输出1000以内最大的10个质数
代码如下(示例):
count = 0
i = 1000
while i <= 1000:
j = 2
while j < i:
if i % j == 0:
break
j += 1
else:
print(i)
count += 1
if count == 10:
break
i -= 1