鱼C论坛

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

大佬们,小弟又来恳请指点猜数游戏啦

[复制链接]
发表于 2017-3-4 18:28:51 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 文质彬彬胡汉三 于 2017-3-4 18:58 编辑

大佬们,小可天资愚笨,每天只有一个小时听小甲鱼老师的课的时间,依旧是猜数游戏,可以判定次数,可以重复玩,问题又来啦:
1:我只想(i==1)的时候系统会提示说这是最后一次机会,其他时候(i==100,i==99...)就判定大了小了,如何实现?
2:重新开始游戏的时候,随机数并没有刷新,依旧是上一次的随机数,如何在重新开始的时候刷新产生的随机数?
3:感觉我的代码太长,太复杂,哪里能简化一下。。。
感谢大佬!贴上代码。
  1. import random
  2. i=3
  3. a=random.randint(0,5)
  4. print('--------Guess the Number-------')
  5. while (i>0):
  6.     t=input('请输入要猜测的数字(0~5之间):')
  7.     g=int(t)
  8.     if (g<0) or (g>5):
  9.         print('输入错误!请重新输入!所输入数字必须在0~5之间!')
  10.     else:
  11.         i=i-1
  12.         if (g==a):
  13.             print('猜对了!厉害!厉害!')
  14.             if (i==2):
  15.                 print('你使用了1次机会就猜中了')
  16.                 i=0               
  17.             elif(i==1):
  18.                 print('你使用了2次机会猜中了数字')
  19.                 i=0
  20.             elif(i==0):
  21.                 print('真厉害,你使用最后一次机会猜中了答案!')
  22.             else:
  23.                 pass
  24.         else:
  25.             if (g<a):
  26.                 print('你猜测的数字有点小')
  27.             else:
  28.                 print('你猜测的数字有点大')
  29.             if (i==2):
  30.                 print('不要灰心,再试试,你还有2次机会')
  31.             else:
  32.                 if (i==1):
  33.                     print('请注意,你还有1次机会,这是你的最后一次机会,请万分慎重猜测!')
  34.                 else:
  35.                     print('机会用完没有猜中啊')
  36.                     print('正确答案为:',a)
  37.         if (i==0):
  38.             print('游戏结束')
  39.             con=input('继续游戏请输入数字7,结束请输入任意数:')
  40.             if (con=='7'):
  41.                 i=3
  42.             else:
  43.                 print('press any key to end ')
  44. input()


  45.         
  46.             
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-3-4 20:01:08 | 显示全部楼层
i不是一开始初始化为3了嘛,而且只会依次减一啊,不会出现i=99等情况吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-4 20:41:37 | 显示全部楼层
这个应该你要的功能都有了
  1. import random
  2. def yx(da,cs):
  3.     i=1
  4.     while i<=cs:
  5.         if i ==cs:
  6.             print('最后一次机会咯!!')
  7.         cai=input('请输入1-9进行猜测:')
  8.         if cai.isdigit():
  9.             i+=1
  10.             if da==int(cai):
  11.                 print('恭喜你答对了!!\n')
  12.                 return 1
  13.             elif da>int(cai):
  14.                 print('小了!\n')
  15.             else :
  16.                 print('大了\n')
  17.         else:
  18.             print('输入有误,请重新输入!')
  19.     return 0

  20. while True:
  21.     da=random.randint(1,9)
  22.     cs=input('开始新的一局\n请输入允许猜测的次数,输入字母结束游戏:')
  23.     if cs.isdigit():
  24.         yx(da,int(cs))
  25.     else:
  26.         break
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-4 21:16:37 | 显示全部楼层

回帖奖励 +3 鱼币

a=random.randint(0,5)
这个加到42行,就可以重载随机数
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-5 00:17:41 | 显示全部楼层

回帖奖励 +3 鱼币

3楼的可行,但是根据楼主的目前学习进度,一些东西超纲了,试试我的思路:

  1. import random

  2. chance = 3
  3. secret = random.randint(0,10)
  4. temp = "胃癌没有女朋友!"

  5. while chance >=0 :
  6.     if chance == 0:
  7.         temp = input("是否继续游戏?(Y/N)")
  8.     if temp == "N" or temp =="n" :
  9.         break
  10.     if temp == "Y" or temp =="y":
  11.         chance = 3
  12.         secret = random.randint(0,10)
  13.         temp =1
  14.         
  15.         
  16.     while chance > 0:
  17.         
  18.         if chance == 1:
  19.             print("你还一次机会,请小心使用!", end ="")
  20.             

  21.         temp = input("请你猜一个整数:  ")
  22.         if  not temp.isdigit():  
  23.             print("输入错误,猜测的数值必须为整数!")
  24.             continue
  25.             
  26.             
  27.         else:
  28.             temp = int(temp)   

  29.         #大小判断区域:   
  30.             
  31.         if temp == secret:
  32.             chance -= 1
  33.             print ("猜对了,恭喜!你总共使用了",3-chance,"次机会")
  34.             chance = 0
  35.             continue
  36.         if temp > secret:
  37.             chance -= 1
  38.             print("大了,你还有",chance,"次机会")
  39.         if temp < secret:
  40.             chance -= 1
  41.             print("小了,你还有",chance,"次机会")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-5 09:28:25 | 显示全部楼层
  1. import random

  2. num=random.randint(1,100) # 可以调整大小
  3. times = 5

  4. while True:
  5.     guess=input('猜一个1到100的数字:')
  6.     i=int(guess)
  7.     if i==num:
  8.         print('你猜对了!')
  9.         print('你赢了! ')
  10.         break
  11.     elif i<num:
  12.         print('再猜高一点!')
  13.         times-=1
  14.         print('你还有%s次机会!' % (times))
  15.     elif i>num:
  16.         print('再猜低一点!')
  17.         times-=1
  18.         print('你还有%s次机会!' % (times))
  19.     if times == 0:
  20.         print('次数用光啦!')
  21.         print('游戏结束')
  22.         break
复制代码


这个比较现实
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2017-3-8 07:19:56 | 显示全部楼层

回帖奖励 +3 鱼币

提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-19 15:25:47 | 显示全部楼层

回帖奖励 +3 鱼币

厉害了   学习到了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-19 16:48:17 | 显示全部楼层

回帖奖励 +3 鱼币

为了看作业
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-19 20:10:13 | 显示全部楼层

回帖奖励 +3 鱼币

学习
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-25 19:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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