《Python语言程序设计》 第6章编程题答案(6.22~6.24)

2
回复
885
查看
[复制链接]
  • TA的每日心情
    开心
    2020-1-15 12:08
  • 签到天数: 43 天

    [LV.5]常住居民I

    20

    主题

    68

    帖子

    376

    积分

    筑基程序员

    Rank: 3Rank: 3

    积分
    376
    发表于 2019-12-21 23:08:46 | 显示全部楼层 |阅读模式

    登录后查看本帖详细内容!

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

    x
    6.22:
    import time
    def isleapyear():
        for i in range(1970,2020):
           if (i % 4 ==0 and i % 100 !=0) or (i % 400 ==0):
               return True
    def month(years,days):
        if days - 31 > 0:
           days-=31
           if (years% 4 ==0 and years % 100 !=0) or (years % 400 ==0):
               if days - 29 >0:
                    days-=29
                    if days - 31 > 0 :
                        days-=31
                        if days - 30 >0:
                            days-=30
                            if days - 31 > 0:
                                days-=31
                                if days - 30>0:
                                    days-=30
                                    if days - 31 > 0:
                                        days-=31
                                        if days - 31 >0:
                                            days-=31
                                            if days - 30 >0:
                                                days-=30
                                                if days - 31 >0:
                                                   days-=31
                                                   if days - 30 >0:
                                                        days-=30
                                                       return 12,days
                                                   else:
                                                       return 11,days
                                                else:
                                                   return 10,days
                                            else:
                                                return 9,days
                                        else:
                                            return 8,days
                                    else:
                                        return 7,days
                                else:
                                    return 6,days
                            else:
                                return 5,days
                        else:
                            return 4,days
                    else:
                        return 3,days
               else:
                    return 2,days
           else:
               if days - 28 >0:
                    days-=28
                    if days - 31 > 0 :
                        days-=31
                        if days - 30 >0:
                            days-=30
                            if days - 31 > 0:
                                days-=31
                                if days - 30>0:
                                    days-=30
                                    if days - 31 > 0:
                                        days-=31
                                        if days - 31 >0:
                                            days-=31
                                            if days - 30 >0:
                                               days-=30
                                                if days - 31 >0:
                                                   days-=31
                                                    if days - 30 >0:
                                                       days-=30
                                                       return 12,days
                                                   else:
                                                       return 11,days
                                                else:
                                                   return 10,days
                                            else:
                                                return 9,days
                                        else:
                                            return 8,days
                                    else:
                                        return 7,days
                                else:
                                    return 6,days
                            else:
                                return 5,days
                        else:
                            return 4,days
                    else:
                        return 3,days
               else:
                    return 2,days
        else:
           return 1,days
    def date():
       start=int(time.time())
       seconds=start % 60
       minitues=start // 60
       hours=minitues // 60
       minitues=minitues % 60
       days=hours // 24
       hours=hours % 24
       count=0
        while days > 365:
           if isleapyear():
               days-=366
               count+=1
           else:
               days-=365
               count+=1
       years=1970+count
       months,days=month(years,days)
        return years , months , days , hours , minitues ,seconds
    print(date())
    def main():
       years,months,days,hours,minitues,seconds=date()
        print(str(years)+'-'+str(months)+'-'+str(days)+'-'+str(hours)+':'+str(minitues)+':'+str(seconds))
    main()
    6.23:
    def convertMillis(millis):
       millis/=1000
       seconds=int(millis % 60)
       miniutes=millis // 60
       hours=int(miniutes // 60)
       miniutes=int(miniutes % 60)
        return hours , miniutes , seconds
    def main(millis):
       hours,miniutes,seconds=convertMillis(millis)
        print(str(hours)+':'+str(miniutes)+':'+str(seconds))
    main(eval(input('millis:')))
          
    6.24:回文素数:
    def isprime(number):
       isprime=True
       i=2
        while i < number:
           if number % i ==0:
               isprime=False
           i+=1
        return isprime
    def reverse(number):
       remainder=''
       a=number
        while number != 0 :
           remainder=remainder+str(number % 10)
           number=number // 10
        if int(remainder)==a:
           return True
        else:
           return False
    count=0
    j=2
    while count < 100 :
        if isprime(j) and reverse(j):
           print(format(j,'6d'),end=' ')
           count+=1
           if count % 10 ==0:
               print()
       j+=1


    〖下载地址失效反馈〗:

    下载地址如果失效,请反馈。反馈地址: https://www.fstcode.com/thread-5527-1-1.html

    〖赞助VIP免灵石下载全站资源〗:

    全站资源高清无密,每天更新,VIP特权: https://www.fstcode.com/plugin.php?id=threed_vip

    〖客服24小时咨询〗:

    有任何问题,请点击右侧客服QQ咨询。

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2021-2-28 11:31
  • 签到天数: 42 天

    [LV.5]常住居民I

    0

    主题

    235

    帖子

    905

    积分

    终身VIP

    Rank: 12Rank: 12Rank: 12

    积分
    905
    发表于 2023-3-24 16:55:06 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-12-2 16:26
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    0

    主题

    128

    帖子

    440

    积分

    筑基程序员

    Rank: 3Rank: 3

    积分
    440
    发表于 2023-3-25 10:06:17 | 显示全部楼层
    楼猪V5啊
    回复

    使用道具 举报

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

    本版积分规则

     
    在线客服
    点击这里给我发消息 点击这里给我发消息
    用心服务所有程序员,做最好的编程视频网站
    QQ:354410543
    周一至周日 00:00-24:00
    联系站长:admin@fstcode.com

    QQ群(仅限付费用户)

    Powered by "真全栈程序员" © 2010-2023 "真全栈程序员" 本站资源全部来自互联网及网友分享-如有侵权请发邮件到站长邮箱联系删除!