鱼C论坛

 找回密码
 立即注册
查看: 1241|回复: 8

[已解决]三节课小白求教大神,猜0-100随机数字怎么码

[复制链接]
发表于 2021-5-12 23:33:35 | 显示全部楼层 |阅读模式

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

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

x
零基础小白学了甲鱼老师的前三节课,里面有个猜数字游戏,突发奇想也做一个,在0-100中随机挑选一个来猜,猜不中的话会有相应的提示,例如,答案数字是55,第一猜20,会提示20~100,第二次猜60,会提示20~60,第三次猜45,会提示45~60,直到正确答案被猜到停止,机会有三次(可以改掉不要)。想了两天没试成功,所以来问问大神们做,下面是我的代码:
import random
list=[]
for o in range(0,100):
  list.append(o)
num=(random.choice(list))
number=input("0到100中猜数字")

times= 2

while True:
  AA=min(int(number),100)
  BB=max(0,int(number))
  if int(number) == num:
    print("猜对了")
    break
  if int(number) > num:
    number = input("0 ~"+ str(AA))
  if int(number) < num:
    number = input(str(BB)+"~ 100")
  if int(number) > BB :
    number = input(str(AA)+"~"+str(number))
  if int(number) < AA:
    number = input(str(number)+"~"+str(BB))
     
  times-=1
  if times == 0:
    print("机会用完了")
  print("正确的答案是"+str(num))



错是肯定错了,就是不知道怎么改才能实现那个游戏,希望大神们帮帮小白
最佳答案
2021-5-13 01:01:16
本帖最后由 qq1151985918 于 2021-5-13 18:24 编辑
  1. from random import randint

  2. def input_num(prompt = "请输入:") -> int:
  3.     number = input(prompt)
  4.     while not number.isdigit():
  5.         print(f"{'-' * 8}您的输入:{number},不是数字,请重新输入:\n{'-' * 8}", end = "")
  6.         number = input(prompt)
  7.     return int(number)

  8. start_num, stop_num = 0, 100
  9. rand_num = randint(start_num, stop_num)

  10. times = 3
  11. print(f"开始猜数字,您一共有 {times} 次机会\n")
  12. for i in range(1, times + 1):
  13.     guess_num = input_num(f"{i}.请输入您猜测的数字({start_num} - {stop_num}):")
  14.     while guess_num not in range(start_num, stop_num):
  15.         print(f"{'-' * 8}您的输入:{guess_num},不在范围,请重新输入:\n{'-' * 8}", end = "")
  16.         guess_num = input_num(f"请输入您猜测的数字({start_num} - {stop_num}):")
  17.     if guess_num == rand_num:
  18.         print(f"{'-' * 4}猜对了!您猜的数字:{guess_num},随机数字:{rand_num}\n")
  19.         break
  20.     else:
  21.         print(f"{'-' * 4}猜错了!您还有 {times - i} 次机会\n")
  22.         if rand_num in range(start_num, guess_num):
  23.             stop_num = guess_num
  24.         else:
  25.             start_num = guess_num
  26. else:
  27.     print(f"您的 {times} 次机会用完了,随机数字是:{rand_num}")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-13 01:01:16 | 显示全部楼层    本楼为最佳答案   
本帖最后由 qq1151985918 于 2021-5-13 18:24 编辑
  1. from random import randint

  2. def input_num(prompt = "请输入:") -> int:
  3.     number = input(prompt)
  4.     while not number.isdigit():
  5.         print(f"{'-' * 8}您的输入:{number},不是数字,请重新输入:\n{'-' * 8}", end = "")
  6.         number = input(prompt)
  7.     return int(number)

  8. start_num, stop_num = 0, 100
  9. rand_num = randint(start_num, stop_num)

  10. times = 3
  11. print(f"开始猜数字,您一共有 {times} 次机会\n")
  12. for i in range(1, times + 1):
  13.     guess_num = input_num(f"{i}.请输入您猜测的数字({start_num} - {stop_num}):")
  14.     while guess_num not in range(start_num, stop_num):
  15.         print(f"{'-' * 8}您的输入:{guess_num},不在范围,请重新输入:\n{'-' * 8}", end = "")
  16.         guess_num = input_num(f"请输入您猜测的数字({start_num} - {stop_num}):")
  17.     if guess_num == rand_num:
  18.         print(f"{'-' * 4}猜对了!您猜的数字:{guess_num},随机数字:{rand_num}\n")
  19.         break
  20.     else:
  21.         print(f"{'-' * 4}猜错了!您还有 {times - i} 次机会\n")
  22.         if rand_num in range(start_num, guess_num):
  23.             stop_num = guess_num
  24.         else:
  25.             start_num = guess_num
  26. else:
  27.     print(f"您的 {times} 次机会用完了,随机数字是:{rand_num}")
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-13 15:30:39 From FishC Mobile | 显示全部楼层
3节课这么厉害啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-13 15:59:07 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-14 17:34:05 From FishC Mobile | 显示全部楼层
qq1151985918 发表于 2021-5-13 01:01

(⊙o⊙)哇,回复的好快呀,谢谢大神,里面好多函数够我学习一段时间了,请问那个f是您的代号么?(我听说很多码农都有自己的代号在自己的代码里)我没看到您有为f赋值,我删掉了f也没有影响这个游戏的运行呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-14 17:43:47 From FishC Mobile | 显示全部楼层
尹十三 发表于 2021-5-13 15:30
3节课这么厉害啊

甲鱼老师说Python是一个积木游戏,所以第一段随机数字是网上学习来的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-14 17:49:53 | 显示全部楼层
479643539 发表于 2021-5-14 17:34
(⊙o⊙)哇,回复的好快呀,谢谢大神,里面好多函数够我学习一段时间了,请问那个f是您的代号么?(我听说 ...

字符串前面的 f 是一种格式化方式,配合 { } 使用, { } 内可以添加变量或者代码来显示变量内容
删除掉是有影响的,虽然不会报错,但是显示的打印信息就不是想要的信息了,不信你删掉试试看。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-14 23:01:57 From FishC Mobile | 显示全部楼层
学到了,谢谢大神
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-15 02:57:07 | 显示全部楼层
感觉要学习的东西还有很多
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-12 15:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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