Python练习实例(4-6)

学完了Python的基础语法,希望能在练习中更加熟练语法的使用。
练习实例的所有题目出自于菜鸟教程,答案均为个人所写,希望能提供给像我一样学习Python的朋友们一些帮助或思路。

运行结果在文章最后哦!

如有更好的解决方案请指教,感谢!

实例4

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

"""
程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天.
          特殊情况,若是闰年且输入月份大于2时需考虑多加一天:
"""
year = int(input("year:"))
month = int(input("month:"))
day = int(input("day:"))
# 每个月都有固定的天数,闰年的情况考虑在下面
months = (0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334)
if 0 < month <= 12:
    sum = months[month - 1]
else:
    print("输入错误")
sum += day

"""
考虑闰年的情况
闰年的规则如下:
普通闰年:公历年份是4的倍数的,且不是100的倍数,为普通闰年。(如2004年就是闰年);
世纪闰年:公历年份是整百数的,必须是400的倍数才是世纪闰年(如1900年不是世纪闰年,2000年是世纪闰年);
"""
leap = 0
if year % 4 == 0 and year % 100 != 0:
    leap = 1
elif year % 400 == 0:
    leap = 1
else:
    leap = 0
#如果为闰年且月份大于2,则sum需要+1
if leap == 1 and month > 2:
    sum += 1
print("今天是第",sum,"天")

实例5

题目:输入三个整数x,y,z,请把这三个数由小到大输出。

"""
程序分析:在list中输入并循环三次
          然后直接用list.sort进行排序输出结果
"""
list = [int(input()) for i in range(3)]
list.sort()
print(list)

实例6

题目:斐波那契数列

"""
程序分析:就直接递归然后结束好吧,这个就太经典了
          帮不知道的小伙伴贴出来:
          斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13
          特别指出:第0项是0,第1项是第一个1。从第三项开始,每一项都等于前两项之和。
"""


def fib(n):
    if n == 1 or n == 2:
        return 1
    return fib(n - 1) + fib(n - 2)

print(fib(int(input("请输入你想要知道第几项的值:"))))

运行结果

实例4
year:2020
month:3
day:26
今天是第 86 天

实例5
9
8
6
[6, 8, 9]

实例6
请输入你想要知道第几项的值:15
610
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值