zoukankan      html  css  js  c++  java
  • python练习题2

    #给出一个日子,和一个数字(可以是正数或负数)
    #算出这个日子加上这个天数后是哪个日子
    def day():
        date=raw_input("(MM/DD/YY)>>")
        date=date.split("/")
        year1=int(date[-1])
        month1=int(date[0])
        day1=int(date[1])
        num=raw_input("enter a number:")
        num=int(num)
        month_days=[31,28,31,30,31,30,31,31,30,31,30,31]
        days1=sum(month_days[:(month1-1)])+day1
        
        if int(date[2])%4==0:
            month_days[3]=29
            years1=366
        else:
            years1=365
       
        sumdays=days1+num
        if num>0:
            lis=[]
            if sumdays<years1:
                year2=year1
                print year2
                lis.append(year2)
                sumday=0
                for i,j in enumerate(month_days):
                    if sumday<sumdays:
                        sumday=sumday+int(j)
                    else:
                        month2=i
                        print month2
                        lis.append(month2)
                        marginday=sum(month_days[:i])-sumdays
                        day2=month_days[i-1]-marginday
                        print day2
                        lis.append(day2)
                        break 
                print "%d天后的日期为:%d年%d月%d号"%(num,lis[0],lis[1],lis[2])   
            elif sumdays>years1:
                lis=[]
                years2=years1
                year2=year1
                remindays=sumdays-years2
                while remindays>years2:
                    year2=year2+1
                    lis.append(year2)
                    if year2%4==0:
                        remindays=remindays-366
                    else:
                        remindays=remindays-365
                print remindays  
    
                for i,j in enumerate(month_days):
                    if remindays<sum(month_days[:i+1]):
                        month2=i
                        lis.append(month2)
                        day2=remindays-sum(month_days[:i])
                        lis.append(day2)
                        break
                    
                print "%d天后的日期为:%d年%d月%d号"%(num,lis[0],lis[1],lis[2])
            else:
                print "%d天后的日期为:%d年%d月%d号"%(num,year1,12,31)
        #elif sumdays==0:
            
            #print "%d天后的日期为:%d年%d月%d号"%(num,year1,1,1)
        else:
            lis=[]
            remindays=0
            years2=years1
            year2=year1        
            if sumdays<0:
                
               
                #if year2%4==0:
                    #years2=366
                #else:
                    #years2=365        
                #remindays=abs(sumdays)-years2
                remindays=abs(sumdays)
                while remindays>0:
                    year2=year2-1
                    
                    if year2%4==0:
                        remindays=remindays-366
                    else:
                        remindays=remindays-365
                lis.append(year2)
                print remindays  
                remindays=abs(remindays)
            elif sumdays==0:
                print "%d天后的日期为:%d年%d月%d号"%(num,year1,1,1)
            else:
                remindays=sumdays
                lis.append(year1)
            print remindays
            for i,j in enumerate(month_days):
                if remindays<sum(month_days[:i+1]):
                    month2=i+1
                    lis.append(month2)
                    day2=remindays-sum(month_days[:i])
                    lis.append(day2)
                    break
                
            print "%d天后的日期为:%d年%d月%d号"%(num,lis[0],lis[1],lis[2])        
            
         
        #lis=[]
        #for i,j in enumerate(month_days):
            #if i+1==int(date[0]):
                #day=month_days[i]-int(date[1])
                #if num+int(date[1])<month_days[i]:
                    #lis.append(int(date[0]))
                    #lis.append(num+int(date[1]))
                    #lis.append(int(date[-1]))
        #print lis       
    day()
  • 相关阅读:
    基于jenkins+gitlab的自动集成环境的搭建
    函数指针与委托
    详解C#break ,continue, return (转)
    REST 与 web service 的比较
    Python
    python
    python
    python
    python 1.0
    python 0.0
  • 原文地址:https://www.cnblogs.com/sunyucui/p/7010983.html
Copyright © 2011-2022 走看看