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

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

    [LV.5]常住居民I

    20

    主题

    66

    帖子

    376

    积分

    筑基程序员

    Rank: 3Rank: 3

    积分
    376
    发表于 2019-12-27 22:27:22 | 显示全部楼层 |阅读模式

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

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

    x
    6.25:反素数
    def isprime(number):
       isprime=True
       i=2
        while i < number:
           if number % i ==0:
               isprime=False
           i+=1
        return isprime
    def reverseisprime(number):
       remainder=''
       a=number
        while number != 0:
           remainder=remainder+str(number % 10)
           number=number // 10
        if isprime(int(remainder)):
           return True
    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 not reverse(j)) and (reverseisprime(j)):
           print(format(j,'6d'),end=' ')
           count+=1
           if count % 10 ==0:
               print()
       j+=1
    6.26:梅森素数:
    def isPrime(number):
       isprime=True
       i=2
       while i < number:
           if number % i ==0:
                isprime=False
           i+=1
       return isprime
    def meisenPrime():
       print('p   2^p-1')
       for p in range(2,32):
           number=2**p-1
           if isPrime(number):
                print(p,'\t',number)
    meisenPrime()
    6.27:双素数:
    def isPrime(number):
       isprime=True
       i=2
       while i < number:
           if number % i ==0:
                isprime=False
           i+=1
       return isprime
    def doublePrime():
       for i in range(2,1000):
           if isPrime(i):
                if isPrime(i+2):
                    print(i,i+2)
          
    doublePrime()
    6.28
    import random
    def point():
       number1=random.randint(1,6)
       number2=random.randint(1,6)
       return number1+number2
    number1=random.randint(1,6)
    number2=random.randint(1,6)
    if (number1+number2==2) or (number1+number2==3) or (number1+number2==12):
       print('you rolled '+str(number1)+'+'+str(number2)+'='+str(number1+number2))
       print('you lose!')
    elif (number1+number2==7) or (number1+number2==11) :
       print('you rolled '+str(number1)+'+'+str(number2)+'='+str(number1+number2))
       print('you win!')
    elif (number1+number2==4)or (number1+number2==5)or(number1+number2==6)or(number1+number2==8)or(number1+number2==9)or(number1+number2==10):
       point1=number1+number2
       point2=point()
       if point2==7:
           print('point1 is'+str(point1))
           print('point2 is'+str(point2)+'you lose')
       elif point2==point1:
           print('point1 is'+str(point1))
           print('point2 is'+str(point2)+'you win')
       while point2!=7 and point2!=point1:
           point2=point()
           if point2==7:
                print('point1 is'+str(point1))
                print('point2 is'+str(point2)+'you lose')
           elif point2==point1:
                print('point1 is'+str(point1))
                print('point2 is'+str(point2)+'you win')
       
    6.29:
    def reverse(number):
        sum=''
        while number != 0:
           remainder=number%10
           number=number // 10
           sum=sum+str(remainder)
        return int(sum)
    def isValid(number):
       isValid=False
        if 1000000000000<= number <=9999999999999999:
           reverseNumber=reverse(number)
           if reverseNumber % 10 ==4:
               isValid=True
           elif reverseNumber % 10 ==5:
               isValid=True
           elif reverseNumber % 10 == 3 and reverseNumber// 10 % 10 ==7 :
               isValid=True
           elif reverseNumber % 10 ==6:
               isValid=True
        return isValid
      
    def getSize(number):
       count=0
        while number != 0:
           number=number//10
           count+=1
        return count
    def sumOfPlace(number):
       sumOfDouble=0
       sumOfsingle=0
       i=str(number)
        for j in range(getSize(number)//2):
           sumOfDouble+=( (int(i[j*2])*2) //10 ) + ( (int(i[j*2])*2) * 10 )
        for k in range(getSize(number)//2):
           sumOfsingle+=(int(i[k*2+1]))
        sum=sumOfDouble+sumOfsingle
        return sum
    def main(number):
        if isValid(number):
           if sumOfPlace(number) % 10 ==0:
               return True
           else:
               return False
        else:
           print(str(number)+'is not valid')
    print(main(eval(input('enter thenumber:'))))

    〖下载地址失效反馈〗:

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

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

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

    〖客服24小时咨询〗:

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

    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2020-1-22 13:50
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    0

    主题

    107

    帖子

    404

    积分

    终身VIP

    Rank: 12Rank: 12Rank: 12

    积分
    404
    发表于 2023-3-24 17:05:29 | 显示全部楼层
    看起来不错
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2019-9-4 12:36
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    93

    帖子

    289

    积分

    终身VIP

    Rank: 12Rank: 12Rank: 12

    积分
    289
    发表于 2023-3-25 11:59:39 | 显示全部楼层
    顶顶更健康
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2019-10-18 11:11
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    89

    帖子

    274

    积分

    终身VIP

    Rank: 12Rank: 12Rank: 12

    积分
    274
    发表于 2023-3-25 21:12:29 | 显示全部楼层
    1v1飘过
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-9-16 10:08
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    0

    主题

    102

    帖子

    334

    积分

    筑基程序员

    Rank: 3Rank: 3

    积分
    334
    发表于 2023-3-26 03:58:24 | 显示全部楼层
    LZ敢整点更有创意的不?兄弟们等着围观捏~
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2020-11-17 10:39
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    0

    主题

    98

    帖子

    319

    积分

    筑基程序员

    Rank: 3Rank: 3

    积分
    319
    发表于 2023-3-26 13:54:27 | 显示全部楼层
    看起来好像不错的样子
    回复

    使用道具 举报

  • TA的每日心情

    2019-11-6 17:11
  • 签到天数: 2 天

    [LV.1]初来乍到

    0

    主题

    91

    帖子

    294

    积分

    终身VIP

    Rank: 12Rank: 12Rank: 12

    积分
    294
    发表于 2023-3-26 16:59:47 | 显示全部楼层
    大人,此事必有蹊跷!
    回复

    使用道具 举报

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

    [LV.3]偶尔看看II

    0

    主题

    127

    帖子

    440

    积分

    筑基程序员

    Rank: 3Rank: 3

    积分
    440
    发表于 2023-3-27 12:28:54 | 显示全部楼层
    我也顶起出售广告位
    回复

    使用道具 举报

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

    本版积分规则

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

    QQ群(仅限付费用户)

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