【习题之Python篇】循环结构

例题1:编写程序,计算:Sn=1-3+5-7+9-11+…,n是数列的项数, 由用户输入。

n = eval(input("请输入数列的项数:"))
s = 0 #s存放结果
flag = 1 #控制加、减.标志变量
for i in range(1, 2*n, 2):
    s += i * flag
    flag = (-1) * flag
print(s)

结果:
在这里插入图片描述

例题2:输出斐波那契数列的前20项。

1, 1, 2, 3, 5, 8, …

f1 = f2 = 1
fn = fn-1 + fn-2, n>=3
f1 = f2 = 1   #链式赋值,f1:前一项,f2:后一项
for i in range(10):
    print(f1, f2)
    f1 = f1 + f2
    f2 = f1 + f2

结果:
在这里插入图片描述

例题3:输出3位正整数中的全部水仙花数。

import math
for i in range(100,1000):
    a=i//100
    b=i//10%10
    c=i%10
    if math.pow(a,3)+math.pow(b,3)+math.pow(c,3)==i :
        print(i)

提示:水仙花数是一个三位数其各位数字的立方和等于该数本身。
结果:
在这里插入图片描述

例题4:输入任意一个大于2的正整数,判别其是否是素数。

num = eval(input("请输入一个大于2的正整数:"))
for i in range(2,num):
    if num%i == 0:
        print("不是素数")
        break
    else :
       continue
if i==num-1 :
    print("是素数")

另一种方法:

x=eval(input("请输入一个大于2的正整数:"))
for i in range(2,int(pow(x,0.5))+1):  #减少一半的循环优化程序
    if x%i==0 :
        print("{}不是素数!".format(x))
        break
else:print("{}是素数!".format(x))   #循环奖励

提示:素数是只有1和自身两个因数的自然数
结果:
在这里插入图片描述
在这里插入图片描述

例题5:输出2000~3000年之间所有的闰年,要求每输出8个年份值就换行。

count = 0
for i in range(2000,3001):
    if i%4 == 0 and i % 100 != 0:
        print(i,end=" ")
        count += 1
        if count%8==0:
             print("\n")

小知识:
end=" " 表示在输出末尾不换行,加空格
结果:
在这里插入图片描述

提示:普通年能被4整除且不能被100整除的为闰年

学习笔记,感谢提出错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IsQiya

很庆幸我的文章对您有帮助

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值