猫史档案馆


【Python作品分享】猜数游戏【教程贴】

用户:e国阳光e国阳光查看:0 回复:2 评论:0 创建时间:2020-02-14T23:17:10


【作品展示】

center_image

 

【作品介绍】

通过范围的缩小猜数,最大次数为中值查找次数。

 

【作品源代码】

#猜数游戏

import random
import math

while True:
  try:
    maxNum=int(input("输入最大的数(100到1000):"))
  except ValueError:
    print("输入的不是数!退出输入0。")
    continue
  if maxNum==0:
    break
  if maxNum<100 or maxNum>1000:
    print("你输入的数不在100到1000的范围,请重新输入!")
    continue

  num=random.randint(1,maxNum) #生成一个1到maxNum的随机数,要猜的数

  maxTs=math.floor(math.log2(maxNum))+1  #猜数机会,计数方法:2的n次方<=maxNum,n的最大值+1
  print("你共有%d次机会猜数:" % maxTs)
  
  ynum=0   #猜的数
  start=1
  end=maxNum
  t=0   #猜数次数
  isOk=False  #是否猜对
  while(tend:
      print("输入的数%d不%d到%d的范围内!请重新输入!" % (ynum,start,end) )
      continue
    if ynum==num:  #猜对了
      isOk=True
      break
    if ynum>num:   #猜的数大了
      end=ynum-1
    else:           #猜的数小了
      start=ynum+1
    t+=1
    
  if isOk:
    print("恭喜你!猜对了!这个数就是%d,你猜了%d次/共%d次。" % (num,t+1,maxTs))
  else:
    print("很抱歉,你把%d次机会用完,但没有把数%d猜出来。别灰心再来过!" % (maxTs,num) )      
      
      
    
      
    

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 1下一页
在南海呢喃的蒟蒻在南海呢喃的蒟蒻

666

 

点赞1


评论


爵士OIer爵士OIer

https://shequ.codemao.cn/community/225092

大家看一下我的树形dp教程!题解!瞬间了解树形dp!

点赞0


评论