zoukankan      html  css  js  c++  java
  • 找问题找故障----年月日得出当前星期数里要注意的小问题

    本题为输入年月日得出当前星期数

    跟上一次练习写的内容没有太大的变化

    year = eval(input("Enter year:(e.g., 2008): "))
    month = eval(input("Enter month: 1-12: "))
    dayMonth = eval(input("Enter the day of the month: 1-31: "))

    j = year // 100
    k = year % 100

    if month == 1 or month == 2:
        month += 12
        print(f"month is {month}")
        k =(year - 1) % 100
        print(f"year is {year}")

    h = (dayMonth + ((26 * (month + 1)) // 10) + k + (k / 4) + (j / 4) + 5 * j) % 7

    if h == 0:
        print(f"Day of the week is Saturday")
    elif h == 1:
        print(f"Day of the week is Sunday")
    elif h == 2:
        print(f"Day of the week is Monday")
    elif h == 3:
        print(f"Day of the week is Tuesday")
    elif h == 4:
        print(f"Day of the week is Wednesday")
    elif h == 5:
        print(f"Day of the week is Thursday")
    elif h == 6:
        print(f"Day of the week is Friday")

    else:
        print("error")


    print(f"h is {h}")
    print(f"j is {j}")
    print(f"k is {k}")

    主要出现改变的地方在:

    j = year // 100
    k = year % 100
    if month == 1 or month == 2:
        month += 12
        print(f"month is {month}")
        k =(year - 1) % 100
        print(f"year is {year}")
    在开始时忽略了要对j变量进行//100的设置。选择了题里提示/100。出现了不对无法计算结果。

    再有K = year % 100其实这里没什么。但是当我引入if语句来针对1月和2月的判定时。我觉的自己的写法可以。但是计算2012年5月12日。答案正确,但是在计算会2013年1月25日计算又出错。而且都是每年的1月2月出错。我当时想if语句里我已经跟电脑声明如果遇到1月或2月就自动给月份加12,年份减1年的呀。

    后来继续利用自学时看视频学会的打印方法。把各个命令挨个打印。终于在最后我发现我是在if语句里定义完毕所谓的1月2月年份减一年。但系统其实执行的是if外的K = year % 100。(打印结果显示的很明显是13,按我的设想应该是13年减一年。)发现这个错误后,我就重新写了if里有关k变量的要求

    k =(year - 1) % 100
    这样系统执行到month为1或2是,自动回将k变量的年减一。这样再运行,结果就正确了

    2013年1月25日为星期五

  • 相关阅读:
    css中后代、元素、类、id选择器以及行间style优先级的比较
    JS小功能x系列6文字自动滚动
    JS小功能系列7自动打字
    JS小功能系列6折叠
    JS小功能系列5图片左右移动
    JS小功能系列4图片轮播综合数字轮播,顺时针逆时针,自动轮播
    JS小功能系列3时钟
    JS小功能系列2商品计算
    JS小功能系列1换一批
    JS隔行变色,鼠标悬停变色
  • 原文地址:https://www.cnblogs.com/yogaMan/p/13070843.html
Copyright © 2011-2022 走看看