Python中range数列与循环

一,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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值