gpt4 book ai didi

python - 猜数游戏新功能

转载 作者:太空宇宙 更新时间:2023-11-04 05:59:27 25 4
gpt4 key购买 nike

我想用Python为我的女朋友写一个非常简单的猜数字游戏。但我相信这是一个非常合乎逻辑的问题,所以任何不了解 Python 的人也可以阅读这篇文章!这个游戏很标准:电脑随机选择一个数字,让用户猜。这是我的代码:

while True:
from random import randint
ans = randint(1,100)
print "Guess from 1 to 100"
bool = True
while bool:
num = input()
if num < ans:
print str(num) + " is too small!"
if num > ans:
print str(num) + " is too BIG!"
if num == ans:
print "Bingo! %d is what I am thinking!" % num
print "Try again =]"
for i in range(0,40):
print '*',
print
bool = False

但是,我想在其中添加一些新功能:

  • 1.隐藏用户的输入,因为我已经在句子中打印了它
  • 2.添加一个“作弊代码”,当用户输入“作弊”时,答案就会显示出来
  • 3.添加“检测愚蠢的错误”功能,当用户犯了愚蠢的错误时,计算机会给出建议。愚蠢的错误意味着用户输入了一个他已经猜到的数字或一个不在范围内的数字。例如,答案是 50,用户已经猜到 30 和 80,计算机已经告诉他 30 太小,80 太大。从现在开始,如果用户输入任何不在 30 到 80 范围内的数字,计算机将告诉用户正确的范围,例如“你真傻!答案应该在 30 到 80 之间!”

    我知道这是一个很难的问题,但这是送给我女朋友的重要礼物,所以如果有人能提供帮助,我将非常感激。 Python 代码对我来说不是必须的,所以如果有人能通过告诉我算法来回答我的第三个问题,我认为我可以自己编写代码。感谢所有阅读本文的人!

  • 最佳答案

    试试这个。 getInput() 函数将验证您的所有三个问题。 raw_input() 函数接受您提供的任何内容,这很好,因为这样您就可以输入“作弊”和“退出”等命令。 try&except 语句允许您捕捉不是数字(或整数)的猜测。另外顺便说一下,不需要为创建重复的字符串创建一个循环,你可以简单地使用多个,因为 python 很棒! (它也更快,但是对于这里的少量代码来说这没什么大不了的)享受吧!

    def getInput(minValue,maxValue):
    while True:
    try:
    num = raw_input("Enter your guess: ")
    if num == 'cheat':
    return num
    if num == 'exit':
    return num
    num = int(num)
    if num < minValue or num > maxValue:
    print "That is a silly guess! Your number is between %d and %d." % (minValue, maxValue)
    assert False
    else:
    return num
    except:
    print "That is not a valid guess!"

    exit = False
    while not exit:
    from random import randint
    minValue = 1
    maxValue = 100
    ans = randint(minValue,maxValue)
    print "Guess from %d to %d" % (minValue, maxValue)
    while True:
    num = getInput(minValue, maxValue)
    if num == 'cheat':
    print "I was thinking of %d. Cheater!" % ans
    break
    if num == 'exit':
    print "Exiting program!"
    exit = True
    break
    if num < ans:
    print str(num) + " is too small!"
    minValue = num
    if num > ans:
    print str(num) + " is too BIG!"
    maxValue = num
    if num == ans:
    print "Bingo! %d is what I am thinking!" % num
    print "Try again =]"
    print "* "*40
    print
    break

    关于python - 猜数游戏新功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25917224/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com