学完了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