循环掌控:从入门到精通Python中range数列与for循环的完全指南!

1.使用for与while两种方法,计算500-1000以内能被3整除的数的个数

# 1.使用for与while两种方法,计算500-1000以内能被3整除的数的个数
#  1.1 使用for循环
for i in range(500, 1001):
    if i % 3 == 0:
        print(i)
#  1.2 使用while循环
i = 500
while i <= 1000:
    if i % 3 ==0:
        print(i)
    i += 1

#  1.2 使用while循环
i = 500
while i < 1000:
    if i % 3 == 0:
        print(i)
    i += 1

 

2.打印所有的水仙花数
# 水仙花数是指一个 3 位数,它的每个数位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。

# 2.打印所有的水仙花数
# 水仙花数是指一个 3 位数,它的每个数位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。
i = 100
while i < 1000:
    if (i // 100) ** 3 + (i % 100 // 10) ** 3 + (i % 10) ** 3 == i:
        print(i)
    i += 1

 3.输入10个数字, 打印输入数字最大值与最小值的差

# 3.输入10个数字, 打印输入数字最大值与最小值的差
count = 0
min_n = 99999999999
max_n = -99999999999
while count < 10:
    num = int(input("请输入一个数:"))
    if num > max_n:
        max_n = num
    elif num < min_n:
        min_n = num
    count += 1
print(max_n-min_n)

4.使用for与while两种方法求1000以内最大的10个质数的平均数

4.1 使用for 循环

# 4.使用for与while两种方法求1000以内最大的10个质数的平均数
# 4.1 使用for 循环
value = 0
count = 0
for i in range(1000, 1, -1):
    for j in range(2, i):
        if i % j == 0:
            break
    else:
        value += i
        count += 1
        if count == 10:
            print(value / count)
#  4.2 使用while循环
i = 1000
value = 0
count = 0
while i > 1:
    j = 1
    while j < i - 1:
        j += 1
        if i % j == 0:
            break
    else:
        count += 1
        value += i
        if count == 10:
            print(value / count)
    i -= 1

5.使用for与while两种方法计算n的阶乘和 5的阶乘和 =5!+4!+3!+2!+1!

#  5.1 使用for循环
value = int(input("输入一个数字:"))
num = 0
for i in range(1, value + 1):
    count = 1
    for j in range(1, i + 1):
        count *= j
    num += count
print(num)
#  5.2 使用while循环
value = 2
i = 0
num = 0
while i < value:
    i += 1
    count = 1
    j = 0
    while j < i:
        j += 1
        count *= j
    num += count
print(num)

 

 6.一个五位数,若在它的后面写上一个7,得到一个六位数A,若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此五位数

7.随机生成5-10之间的数字,直到所有数字之和大于100,计算随机的次数

# 6.一个五位数,若在它的后面写上一个7,得到一个六位数A,若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此五位数
for i in range(10000, 100000):
    if (i * 10 + 7) * 5 == 7 * 100000 + i:
        print(i)
# 7.随机生成5-10之间的数字,直到所有数字之和大于100,计算随机的次数
import random
num = random.randint(5, 10)
value = 0
count = 0
while value <= 100:
    value += num
    count += 1
print(count)

8.斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21,34,55,89...
# 求第n个数是几

# 8.斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21,34,55,89...
# 求第n个数是几
i = int(input("输入一个数字:"))
tag = 0
num = 1
temp = 0
flag = 0
while tag < i - 1:
    tag += 1
    flag = num
    num += temp
    temp = flag
print(num)

 9.找到1000以内相差为6的质数对(5,11)(7,13)...

# 9.找到1000以内相差为6的质数对(5,11)(7,13)...
num = 0
for i in range(2, 1000):
    for j in range(2, i):
        if i % j == 0:
            break
    for k in range(2, i + 6):
        if (i + 6) % k == 0:
            break
    else:
        print(i, i + 6)

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值