|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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))
错是肯定错了,就是不知道怎么改才能实现那个游戏,希望大神们帮帮小白
本帖最后由 qq1151985918 于 2021-5-13 18:24 编辑
- from random import randint
- def input_num(prompt = "请输入:") -> int:
- number = input(prompt)
- while not number.isdigit():
- print(f"{'-' * 8}您的输入:{number},不是数字,请重新输入:\n{'-' * 8}", end = "")
- number = input(prompt)
- return int(number)
- start_num, stop_num = 0, 100
- rand_num = randint(start_num, stop_num)
- times = 3
- print(f"开始猜数字,您一共有 {times} 次机会\n")
- for i in range(1, times + 1):
- guess_num = input_num(f"{i}.请输入您猜测的数字({start_num} - {stop_num}):")
- while guess_num not in range(start_num, stop_num):
- print(f"{'-' * 8}您的输入:{guess_num},不在范围,请重新输入:\n{'-' * 8}", end = "")
- guess_num = input_num(f"请输入您猜测的数字({start_num} - {stop_num}):")
- if guess_num == rand_num:
- print(f"{'-' * 4}猜对了!您猜的数字:{guess_num},随机数字:{rand_num}\n")
- break
- else:
- print(f"{'-' * 4}猜错了!您还有 {times - i} 次机会\n")
- if rand_num in range(start_num, guess_num):
- stop_num = guess_num
- else:
- start_num = guess_num
- else:
- print(f"您的 {times} 次机会用完了,随机数字是:{rand_num}")
复制代码
|
|