zoukankan      html  css  js  c++  java
  • 随机输入日期计算星期几(1900年1月1日为基础)

    已知,1900年1月1日是星期1,用户随机输入年月日,计算星期几

    第一版,纯python基础代码实现

      1 year=int(input('year')) 2 month=int(input('month'))

     3 day=int(input('day'))
     4 if year >=1900:#大于等于1900
     5     ryear =1900
     6     sum =0
     7     while ryear < year:#1901
     8         if ((ryear % 4 == 0) and (ryear %100 !=0))or(ryear % 400 == 0):#闰年
     9             sum+=2
    10         else:
    11             sum+=1
    12         ryear+=1
    13     #计算月份移动
    14     mon = month
    15     r_month = 1
    16     while r_month < month:#计算到mon月份1号
    17         if r_month in [1,3,5,7,8,10,12]:
    18             sum +=3
    19             sum = sum % 7
    20         elif r_month in [4,6,9,11]:
    21             sum +=2
    22         else:
    23             if (year % 4 == 0 and year %100 != 0) or (ryear % 400 == 0):
    24                 sum +=1
    25             else:
    26                 sum +=0
    27         r_month+=1
    28     #计算天
    29     sumday = day -1
    30     sum+=sumday
    31     sum = sum % 7
    32     #根据移动进行判断
    33     if sum ==1:
    34         print('星期2')
    35     elif sum ==2:
    36         print('星期3')
    37     elif sum ==3:
    38         print('星期4')
    39     elif sum ==4:
    40         print('星期5')
    41     elif sum ==5:
    42         print('星期6')
    43     elif sum ==6:
    44         print('星期7')
    45     else:
    46         print('星期1')
    47 else:#计算小于1990年
    48     ye = year
    49     year +=1
    50     sum = 0
    51     while year<1900:
    52         if (year % 4 == 0 and year %100 !=0) or(year % 400 == 0):#闰年
    53             sum+=2
    54         else:
    55             sum +=1
    56         year+=1
    57     #计算月份移动
    58     mo=month
    59     month =month+1
    60     while month <=12:#计算到mon月份1号
    61         if month in [1,3,5,7,8,10,12]:
    62             sum +=3
    63         elif month in [4,6,9,11]:
    64             sum +=2
    65         else:
    66             if (year % 4 == 0 and year %100!=0) or(year % 400 == 0):
    67                 sum +=1
    68             else:
    69                 sum +=0
    70         month+=1
    71     #计算天
    72     if mo in [1,3,5,7,8,10,12]:
    73         sum += 31-day+1
    74     elif mo in [4,6,9,11]:
    75         sum += 30-day+1
    76     else:
    77         if (year % 4 == 0 and year %100 !=0) or (year % 400 == 0):
    78             sum += 29-day+1
    79         else:
    80             sum += 28-day+1
    81     sum = sum % 7
    82     #根据移动进行判断
    83     if sum ==1:
    84         print('星期7')
    85     elif sum ==2:
    86         print('星期6')
    87     elif sum ==3:
    88         print('星期5')
    89     elif sum ==4:
    90         print('星期4')
    91     elif sum ==5:
    92         print('星期3')
    93     elif sum ==6:
    94         print('星期2')
    95     else:
    96         print('星期1')
     
    97 print('game over') 98 99 星期几
  • 相关阅读:
    重打技术征集系统第七稿开发第1、2天
    关于centos7右上角网络图标消失的解决办法
    记录一下hbase踩的坑
    在jsp中,单选按钮的点击事件(点击隐藏或显示输入框)
    input中禁止输入特殊字符
    《软件方法》阅读笔记——1
    随手快递app开发第十七天
    Codeforces Round #284 (Div. 1) B. Name That Tune(最大流)
    hihocoder 1310岛屿(dfs,一个搜索技巧)
    Codeforces Round #294 (Div. 2) E. A and B and Lecture Rooms(lca+思维,树上寻找与给定两个点距离相等的点的个数)
  • 原文地址:https://www.cnblogs.com/rain-chenwei/p/rain_fall_in_love_with_python.html
Copyright © 2011-2022 走看看