鱼C论坛

 找回密码
 立即注册
查看: 1415|回复: 9

[已解决]大佬帮忙看看哪里有错误啊,新手小白留

[复制链接]
发表于 2020-10-14 11:06:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
year = int(input("请输入一个大于1990年的年份:\n"))
month = int(input("请输入一个月份:\n"))
day = int(input("请输入一个日子:"))
a = year-1988
if a%4==1:
    if month==1:
        days=a/4*365*4+day
    elif month==2:
        days=a/4*365*4+31+day
    elif month==3:
        days=a/4*365*4+59+day
    elif month==4:
        days=a/4*365*4+90+day
    elif month==5:
        days=a/4*365*4+120+day
    elif month==6:
        days=a/4*365*4+151+day
    elif month==7:
        days=a/4*365*4+181+day
    elif month==8:
        days=a/4*365*4+212+day
    elif month==9:
        days=a/4*365*4+243+day
    elif month==10:
        days=a/4*365*4+273+day
    elif month==11:
        days=a/4*365*4+304+day
    else month==12:
        days=a/4*365*4+334+day
elif a%4==2:
    if month==1:
        days=a/4*365*4+365+day
    elif month==2:
        days=a/4*365*4+365+31+day
    elif month==3:
        days=a/4*365*4+365+59+day
    elif month==4:
        days=a/4*365*4+365+90+day
    elif month==5:
        days=a/4*365*4+365+120+day
    elif month==6:
        days=a/4*365*4+365+151+day
    elif month==7:
        days=a/4*365*4+365+181+day
    elif month==8:
        days=a/4*365*4+365+212+day
    elif month==9:
        days=a/4*365*4+365+243+day
    elif month==10:
        days=a/4*365*4+365+273+day
    elif month==11:
        days=a/4*365*4+365+304+day
    else month==12:
        days=a/4*365*4+365+334+day
elif a%4==3:
    if month==1:
        days=a/4*365*4+730+day
    elif month==2:
        days=a/4*365*4+730+31+day
    elif month==3:
        days=a/4*365*4+730+59+day
    elif month==4:
        days=a/4*365*4+730+90+day
    elif month==5:
        days=a/4*365*4+730+120+day
    elif month==6:
        days=a/4*365*4+730+151+day
    elif month==7:
        days=a/4*365*4+730+181+day
    elif month==8:
        days=a/4*365*4+730+212+day
    elif month==9:
        days=a/4*365*4+730+243+day
    elif month==10:
        days=a/4*365*4+730+273+day
    elif month==11:
        days=a/4*365*4+730+304+day
    else month==12:
        days=a/4*365*4+730+334+day
else a%4==0:
    if month==1:
        days=a/4*365*4+730+day
    elif month==2:
        days=a/4*365*4+730+31+day
    elif month==3:
        days=a/4*365*4+730+59+1+day
    elif month==4:
        days=a/4*365*4+730+90+1+day
    elif month==5:
        days=a/4*365*4+730+120+1+day
    elif month==6:
        days=a/4*365*4+730+151+1+day
    elif month==7:
        days=a/4*365*4+730+181+1+day
    elif month==8:
        days=a/4*365*4+730+212+1+day
    elif month==9:
        days=a/4*365*4+730+243+1+day
    elif month==10:
        days=a/4*365*4+730+273+1+day
    elif month==11:
        days=a/4*365*4+730+304+1+day
    else month==12:
        days=a/4*365*4+730+334+1+day
最佳答案
2020-10-14 12:27:06
  1. year = int(input("请输入一个大于1990年的年份:\n"))
  2. month = int(input("请输入一个月份:\n"))
  3. day = int(input("请输入一个日子:"))
  4. a = year-1988
  5. if a%4==1:
  6.     if month==1:
  7.         days=a/4*365*4+day
  8.     elif month==2:
  9.         days=a/4*365*4+31+day
  10.     elif month==3:
  11.         days=a/4*365*4+59+day
  12.     elif month==4:
  13.         days=a/4*365*4+90+day
  14.     elif month==5:
  15.         days=a/4*365*4+120+day
  16.     elif month==6:
  17.         days=a/4*365*4+151+day
  18.     elif month==7:
  19.         days=a/4*365*4+181+day
  20.     elif month==8:
  21.         days=a/4*365*4+212+day
  22.     elif month==9:
  23.         days=a/4*365*4+243+day
  24.     elif month==10:
  25.         days=a/4*365*4+273+day
  26.     elif month==11:
  27.         days=a/4*365*4+304+day
  28.     else:                              #这里修改
  29.         days=a/4*365*4+334+day
  30. elif a%4==2:
  31.     if month==1:
  32.         days=a/4*365*4+365+day
  33.     elif month==2:
  34.         days=a/4*365*4+365+31+day
  35.     elif month==3:
  36.         days=a/4*365*4+365+59+day
  37.     elif month==4:
  38.         days=a/4*365*4+365+90+day
  39.     elif month==5:
  40.         days=a/4*365*4+365+120+day
  41.     elif month==6:
  42.         days=a/4*365*4+365+151+day
  43.     elif month==7:
  44.         days=a/4*365*4+365+181+day
  45.     elif month==8:
  46.         days=a/4*365*4+365+212+day
  47.     elif month==9:
  48.         days=a/4*365*4+365+243+day
  49.     elif month==10:
  50.         days=a/4*365*4+365+273+day
  51.     elif month==11:
  52.         days=a/4*365*4+365+304+day
  53.     else:                                #这里修改
  54.         days=a/4*365*4+365+334+day
  55. elif a%4==3:
  56.     if month==1:
  57.         days=a/4*365*4+730+day
  58.     elif month==2:
  59.         days=a/4*365*4+730+31+day
  60.     elif month==3:
  61.         days=a/4*365*4+730+59+day
  62.     elif month==4:
  63.         days=a/4*365*4+730+90+day
  64.     elif month==5:
  65.         days=a/4*365*4+730+120+day
  66.     elif month==6:
  67.         days=a/4*365*4+730+151+day
  68.     elif month==7:
  69.         days=a/4*365*4+730+181+day
  70.     elif month==8:
  71.         days=a/4*365*4+730+212+day
  72.     elif month==9:
  73.         days=a/4*365*4+730+243+day
  74.     elif month==10:
  75.         days=a/4*365*4+730+273+day
  76.     elif month==11:
  77.         days=a/4*365*4+730+304+day
  78.     else :                          #这里修改
  79.         days=a/4*365*4+730+334+day
  80. else:                               #这里修改
  81.     if month==1:
  82.         days=a/4*365*4+730+day
  83.     elif month==2:
  84.         days=a/4*365*4+730+31+day
  85.     elif month==3:
  86.         days=a/4*365*4+730+59+1+day
  87.     elif month==4:
  88.         days=a/4*365*4+730+90+1+day
  89.     elif month==5:
  90.         days=a/4*365*4+730+120+1+day
  91.     elif month==6:
  92.         days=a/4*365*4+730+151+1+day
  93.     elif month==7:
  94.         days=a/4*365*4+730+181+1+day
  95.     elif month==8:
  96.         days=a/4*365*4+730+212+1+day
  97.     elif month==9:
  98.         days=a/4*365*4+730+243+1+day
  99.     elif month==10:
  100.         days=a/4*365*4+730+273+1+day
  101.     elif month==11:
  102.         days=a/4*365*4+730+304+1+day
  103.     else :                              #还有这里
  104.         days=a/4*365*4+730+334+1+day

  105. print("共%d天"%days)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-10-14 11:30:07 | 显示全部楼层
else后面不能跟条件,你要么换用elif,要么就删掉else后的条件
推荐替换掉else
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-14 12:27:06 | 显示全部楼层    本楼为最佳答案   
  1. year = int(input("请输入一个大于1990年的年份:\n"))
  2. month = int(input("请输入一个月份:\n"))
  3. day = int(input("请输入一个日子:"))
  4. a = year-1988
  5. if a%4==1:
  6.     if month==1:
  7.         days=a/4*365*4+day
  8.     elif month==2:
  9.         days=a/4*365*4+31+day
  10.     elif month==3:
  11.         days=a/4*365*4+59+day
  12.     elif month==4:
  13.         days=a/4*365*4+90+day
  14.     elif month==5:
  15.         days=a/4*365*4+120+day
  16.     elif month==6:
  17.         days=a/4*365*4+151+day
  18.     elif month==7:
  19.         days=a/4*365*4+181+day
  20.     elif month==8:
  21.         days=a/4*365*4+212+day
  22.     elif month==9:
  23.         days=a/4*365*4+243+day
  24.     elif month==10:
  25.         days=a/4*365*4+273+day
  26.     elif month==11:
  27.         days=a/4*365*4+304+day
  28.     else:                              #这里修改
  29.         days=a/4*365*4+334+day
  30. elif a%4==2:
  31.     if month==1:
  32.         days=a/4*365*4+365+day
  33.     elif month==2:
  34.         days=a/4*365*4+365+31+day
  35.     elif month==3:
  36.         days=a/4*365*4+365+59+day
  37.     elif month==4:
  38.         days=a/4*365*4+365+90+day
  39.     elif month==5:
  40.         days=a/4*365*4+365+120+day
  41.     elif month==6:
  42.         days=a/4*365*4+365+151+day
  43.     elif month==7:
  44.         days=a/4*365*4+365+181+day
  45.     elif month==8:
  46.         days=a/4*365*4+365+212+day
  47.     elif month==9:
  48.         days=a/4*365*4+365+243+day
  49.     elif month==10:
  50.         days=a/4*365*4+365+273+day
  51.     elif month==11:
  52.         days=a/4*365*4+365+304+day
  53.     else:                                #这里修改
  54.         days=a/4*365*4+365+334+day
  55. elif a%4==3:
  56.     if month==1:
  57.         days=a/4*365*4+730+day
  58.     elif month==2:
  59.         days=a/4*365*4+730+31+day
  60.     elif month==3:
  61.         days=a/4*365*4+730+59+day
  62.     elif month==4:
  63.         days=a/4*365*4+730+90+day
  64.     elif month==5:
  65.         days=a/4*365*4+730+120+day
  66.     elif month==6:
  67.         days=a/4*365*4+730+151+day
  68.     elif month==7:
  69.         days=a/4*365*4+730+181+day
  70.     elif month==8:
  71.         days=a/4*365*4+730+212+day
  72.     elif month==9:
  73.         days=a/4*365*4+730+243+day
  74.     elif month==10:
  75.         days=a/4*365*4+730+273+day
  76.     elif month==11:
  77.         days=a/4*365*4+730+304+day
  78.     else :                          #这里修改
  79.         days=a/4*365*4+730+334+day
  80. else:                               #这里修改
  81.     if month==1:
  82.         days=a/4*365*4+730+day
  83.     elif month==2:
  84.         days=a/4*365*4+730+31+day
  85.     elif month==3:
  86.         days=a/4*365*4+730+59+1+day
  87.     elif month==4:
  88.         days=a/4*365*4+730+90+1+day
  89.     elif month==5:
  90.         days=a/4*365*4+730+120+1+day
  91.     elif month==6:
  92.         days=a/4*365*4+730+151+1+day
  93.     elif month==7:
  94.         days=a/4*365*4+730+181+1+day
  95.     elif month==8:
  96.         days=a/4*365*4+730+212+1+day
  97.     elif month==9:
  98.         days=a/4*365*4+730+243+1+day
  99.     elif month==10:
  100.         days=a/4*365*4+730+273+1+day
  101.     elif month==11:
  102.         days=a/4*365*4+730+304+1+day
  103.     else :                              #还有这里
  104.         days=a/4*365*4+730+334+1+day

  105. print("共%d天"%days)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-14 12:27:42 | 显示全部楼层
有一说一,你这么写太罗嗦了没啥意义啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-14 12:53:35 | 显示全部楼层
  1. year = int(input("请输入一个大于1990年的年份:\n"))
  2. month = int(input("请输入一个月份:\n"))
  3. day = int(input("请输入一个日子:"))
  4. a = year-1988
  5. month_list = [0,31,59,90,120,151,181,212,243,273,304,334]
  6. if a%4==1:
  7.     days = a/4*365*4+month_list[month-1]+day
  8. elif a%4==2:
  9.     days = a/4*365*4+365+month_list[month-1]+day
  10. elif a%4==3:
  11.     days = a/4*365*4+730+month_list[month-1]+day
  12. else:                        
  13.     if month==1:
  14.         days=a/4*365*4+730+day
  15.     elif month==2:
  16.         days=a/4*365*4+730+31+day
  17.     else:
  18.         days = a/4*365*4+730+month_list[month-1]+1+day

  19. print("共%d天"%days)
复制代码


用个列表把每月之前的天数统计一下,省下好多代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-14 12:54:43 | 显示全部楼层
满意的话记得给个最佳哈
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-14 14:20:28 | 显示全部楼层
本帖最后由 害羞的新手 于 2020-10-14 14:21 编辑

我觉得以后还是规范化写好,比如if{.......}
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-14 17:06:25 | 显示全部楼层
错误有好几处,列举最后一处
    else month==12:
        days=a/4*365*4+730+334+1+day
规范的python代码规则是
else:                    #else后面不能带条件,意为否则
     days=a/4*365*4+730+334+1+day
或者
elif month==12:
        days=a/4*365*4+730+334+1+day
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-15 11:08:10 | 显示全部楼层
昨非 发表于 2020-10-14 12:54
满意的话记得给个最佳哈

谢谢啦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-15 12:51:51 | 显示全部楼层
笨鸟学飞 发表于 2020-10-14 17:06
错误有好几处,列举最后一处
    else month==12:
        days=a/4*365*4+730+334+1+day

谢谢啦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-28 10:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表