python的分支与循环练习题

这篇文章展示了几个使用Python编程解决的数学问题,包括计算特定数字序列的和,找出给定年份范围内的所有闰年,求解两个正整数的最大公约数和最小公倍数,输出100以内的所有质数,以及找出100以内最大的10个质数的和。此外,还包含了找出10-20之间不能被2或3整除的数。
摘要由CSDN通过智能技术生成

注释:上为代码,下为运行结果。

第1题:用循环语句求1+22+333+4444+55555的和

sum = 0
y = 0
for x in range(1,6):  # 迭代变量x从1到5,共迭代5次
    y = y * 10 + 1
    sum = sum + x * y
print("1+22+333+4444+55555的和为:",sum)
1+22+333+4444+55555的和为: 60355

Process finished with exit code 0

第2题:求出2000-2100的所有闰年,条件是四年一闰;百年不闰,四百年再闰。

sum = ()
for sum in range (2000,2101,1):
    if sum % 4 == 0 and sum % 100!= 0 or sum % 400 == 0:
        print("{}年是闰年".format(sum))
2000年是闰年
2004年是闰年
2008年是闰年
2012年是闰年
2016年是闰年
2020年是闰年
2024年是闰年
2028年是闰年
2032年是闰年
2036年是闰年
2040年是闰年
2044年是闰年
2048年是闰年
2052年是闰年
2056年是闰年
2060年是闰年
2064年是闰年
2068年是闰年
2072年是闰年
2076年是闰年
2080年是闰年
2084年是闰年
2088年是闰年
2092年是闰年
2096年是闰年

Process finished with exit code 0

第3题:输入两个正整数,并求出它们的最大公约数和最小公倍数。

num1 = int(input("请输入第一个正整数: "))
num2 = int(input("请输入第二个正整数: "))
if num1 > num2:
    x = num2
    y = num1
else:
    x = num1
    y = num2
while y:
    x, y = y, x % y    #x % y 的结果是 10 % 15,即 10
a = x   #这个是最大公约数
b = (num1 * num2) // a   # 计算最小公倍数
print("最大公约数为:", a)
print("最小公倍数为:", b)
请输入第一个正整数: 5
请输入第二个正整数: 8
最大公约数为: 1
最小公倍数为: 40

Process finished with exit code 0

第4题:输出100以内的所有质数。

for num in range(2, 101):
    x = True
    for i in range(2, num):
        if num % i == 0:
            x = False
            break
    if x:
        print("100以内的质数:",num)
100以内的质数: 2
100以内的质数: 3
100以内的质数: 5
100以内的质数: 7
100以内的质数: 11
100以内的质数: 13
100以内的质数: 17
100以内的质数: 19
100以内的质数: 23
100以内的质数: 29
100以内的质数: 31
100以内的质数: 37
100以内的质数: 41
100以内的质数: 43
100以内的质数: 47
100以内的质数: 53
100以内的质数: 59
100以内的质数: 61
100以内的质数: 67
100以内的质数: 71
100以内的质数: 73
100以内的质数: 79
100以内的质数: 83
100以内的质数: 89
100以内的质数: 97

Process finished with exit code 0

第5题:求100以内最大的10个质数的和。

x = 0   #质数的数量
sum = 0   #质数的和
for num in range(100, 1, -1):   #倒着遍历
    y = True   #y指是是否为质数
    for i in range(2, num):
        if num % i == 0:
            y = False
            break
    if y:
        sum += num
        x += 1
        if x == 10:
            break
print("100以内最大的10个质数的和为:", sum)
100以内最大的10个质数的和为: 732

Process finished with exit code 0

第6题:求1到10 所有偶数的和。

sum = 0
for num in range(1, 11):
    if num % 2 == 0:
        sum += num
print("1到10之间所有偶数的和为:", sum)
1到10之间所有偶数的和为: 30

Process finished with exit code 0

第7题:将10-20不能被2或3整除的数输出。

for num in range(10, 21):
    if num % 2 != 0 and num % 3 != 0:
        print(num)
11
13
17
19

Process finished with exit code 0

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值