数列:range 范围
start:起步, 默认值为 0,
stop:终点,
step:步长, 默认值1
range(stop): 生成一个从0到stop-1的整数序列。
range(start, stop): 生成一个从start到stop-1的整数序列。
range(start, stop, step): 生成一个从start到stop-1的整数序列,步长为step。
datas = range(5,10)
print(list(datas)) #结果:[5, 6, 7, 8, 9]
datas = range(5,10,3)
print(list(datas)) #结果:[5, 8]
for循环是Python中最基本的迭代循环,它通常用于遍历序列(如列表、元组、字符串等)或其他可迭代对象,可重复多次执行。
# 从500开始以后的10个能被5整除的平均数
start = 500
total = 0
for i in range(10):
total += start
start += 5
print(total / 10)
break :可以终止循环,循环退出。
for i in range(10):
if i == 3:
break
print(i)
print("循环结束")
continue:可以 跳过当前循环中的剩余代码,并进入下一次循环。
for i in range(10):
if i == 3:
continue
print(i)
print("当前循环结束,进入下一循环")
for循环嵌套是指在一个for循环中使用另一个for循环,分为内层循环与外层循环。
1.计算5的阶乘和 5!+4!+3!+2!+1!
value = input("输入一个数")
value = int(value)
s = 0
for i in range(1, value+1):
count = 1
for j in range(1, i + 1):
count *= j
s += count
print(s)
2.扩展,打印9*9乘法表(for循环嵌套)
for i in range(1, 10):
for j in range(1, i + 1):
print(f" {j} * {i} ={i * j}", end="\t")
print()
3.米字格
for i in range(9):
for j in range(9):
if j == 0 or j == 8 or i == 0 or i == 8:
print(" * ", end="")
elif i == j or i + j == 8:
print(" * ", end="")
elif i == 4 or j == 4:
print(" * ", end="")
else:
print(" ", end="")
print()
continue会终止某一次循环,不会导致else不执行
break 会终止整个循环,导致else不会执行
1.求1000以内最大的10个质数的平均数
#for
count = 0
s = 0
for i in range(1000, 0, -1):
flag = True
for j in range(2, i):
if i % j == 0:
flag = False
break
if flag:
s += i
count += 1
if count == 10:
break
print(s / 10)
#while
i = 1000
count = 0
s = 0
while i > 1:
j = 2
while j < i:
if i % j == 0:
break
j += 1
else:
s += i
count += 1
if count == 10:
break
i -= 1
print(s/10)