程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

用循环写万年历

发布于2019-08-05 18:35     阅读(3501)     评论(0)     点赞(1)     收藏(5)


"""
万年历
a,请输入提示语句,输入年,月
b,根据用户输入的年,判断是否为闰年
c,根据用户输入的月,来判断天数
d,用循环计算 用户输入的年份距1900年1月1日的总天数
e,用循环计数计算用户输入的月份距输入年份的1月1日有多少天
f,相加d  e 的天数 得到总天数
g,用总天数来计算输入月的第一天的星期数
h,根据g的值格式化输出这个月的日历
"""


year =int(input("please input a year-number:"))  #请输入提示语句,输入年


num_day = 0                                                #到输入的月份之前有多少天
day_num = [31,28,31,30,31,30,31,31,30,31,30,31]            #每月有多少天---列表
if year % 400 == 0 or (year % 4 == 0 and year % 100 != 0): #根据用户输入的年,判断是否为闰年
    day_num[1] = 29
else:
    day_num[1] = 28
#print(day_num)
month =int (input("please input a month-number:"))   #请输入提示语句,输入月
for n in range(0,month -1):
    num_day += day_num[n]
    #print(num_day)
                                             #用循环计数计算用户输入的月份距输入年份的1月1日有多少天
# print(num_day)                     #根据用户输入的月,来判断天数

# day = int(input("please input day number:"))

run_year_num = []
ping_year_num = []
ping_day = 365
run_day = 366
day_instance = 0                    #1900 ---你输入的年份的总天数
for f in range(1900,year):
    if f % 400 == 0 or (f % 4 == 0 and f % 100 != 0):
        run_year_num.append(f)
    else:
        ping_year_num.append(f)
# print(run_year_num)
# print(ping_year_num)

if year == 1900:
    day_instance = num_day
else:
    day_instance = 365*len(ping_year_num) + 366*len(run_year_num) + num_day         #用循环计算 用户输入的年份距1900年1月1日的总天数
# print(day_instance)
print("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六")
space = 0
w = (day_instance - 6) % 7                     #1号是周几
for i in range(1,w +1):
    print("\t\t",end="")
    space += 1
for j in range(1,day_num[month - 1] + 1):
    print(j,"\t\t",end ="")
    space += 1
    if  space % 7 == 0:
        print("")

  



所属网站分类: 技术文章 > 博客

作者:大侠

链接:https://www.pythonheidong.com/blog/article/6319/e2ab1858d32acf929847/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

1 0
收藏该文
已收藏

评论内容:(最多支持255个字符)