python练习册(三)

Hi,小编本周又来送练习题了,编程肯定要多多练习啦!

题目:

输入某年某月某日,判断这一天是这一年的第几天?

1.程序分析:以3月5日为例,应该先把前两个月的加起来,
然后再加上5天即本年的第几天,特殊情况,
闰年且输入月份大于3时需考虑多加一天。

复制代码
"""
输入某年某月某日,判断这一天是这一年的第几天?
"""
year=input("请输入年")
month=input("请输入月")
day=input("请输入日")
if year.isdigit() and month.isdigit() and day.isdigit() and len(year)==4 and 0<len(month)<=2 and 0<len(day)<=2:
    year=int(year)
    month=int(month)
    day=int(day)
else:
    print("年月日输入有误,必须输入数字")

all_day=0
if month>1:
    all_day+=31
if month>2:
    if year%4==0 and year%100!=0 or year%400==0:
        all_day+=29
    else:
        all_day+=28
if month>3:
    all_day+=31
if month>4:
    all_day+=30
if month>5:
    all_day+=31
if month>6:
    all_day+=30
if month>7:
    all_day+=31
if month>8:
    all_day+=31
if month>9:
    all_day+=30
if month>10:
    all_day+31
if month>11:
    all_day+=30

all_day+=day
print("{0}年{1}月{2}日是今年的第{3}天".format(year,month,day,all_day))
复制代码

 

题目:斐波那契数列。

程序分析:黄金一类数列,指数列:1、1、2、3、5、8、13、21、34,可以用递归定义一个函数

复制代码
def fib(n):
    if n==1 or n==2:
        return 1
    return fib(n-1)+fib(n-2) #递归调用,自己调用自己

print("---------斐波那契数列-------------")
num=input("请输入数字:")
if num.isdigit():
    num=int(num)
else:
    print("输入的不是数字")
    
fib_list=[]
i=1
while i<=num:
    fib_list.append(fib(i))
    i+=1
print(fib_list)
复制代码

 

题目判断101-200之间有多少个素数,并输出所有素数。

程序分析:判断素数的方法:能被1和它自己整除的数是素数,如果能被其他数字整除,则不是素数

复制代码
rs=0
for i in range(101,201):
    flag=False
    for j in range(2,i):
        if i%j==0:
            flag=True
print(i)
break if not flag: rs+=1 print("%d是素数"%i) print("素数的个数是%d"%rs)
复制代码
posted @   小杉虎  阅读(98)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
/* 点击爆炸效果*/
// /* 鼠标点击求赞文字特效 */ /*鼠标跟随效果*/ /* */
点击右上角即可分享
微信分享提示