在经过一定次数的尝试后,数字猜测游戏的提示。蟒

时间:2018-04-19 01:54:31

标签: python python-3.x

感谢大家的耐心等待。

感谢Ben10的回答。 (在下面发布了我更正的打印陈述)我的打印陈述错了。我需要取出括号,并用两边的逗号分隔变量 print("It only took you ", counter, " attempts!")

数字猜测游戏在一定数量的回复之后要求提示以及输入作弊以显示数字的选项。一个到最后的提示让人猜测这个数字是否可以被另一个数字整除。我想在游戏结束前提供这个提示,以帮助缩小数字选项。

再次感谢大家的时间和反馈。

guessing_game.py

import random

counter = 1
random_ = random.randint(1, 101)
print("Random number: ", random_) #Remove when releasing final prduct
divisor = random.randint(2, 6)
cheat = random_
print("I have generated a random number for you to guess (between 1-100)" )

while counter < 10:
    if counter == 3:
        print("Nope. Do you have what it takes? If not, type in 'cheat' to have the random number revealed.  ")
        if random_ % divisor == 0:
            print("Not it quite yet. The random number can be divided by ", divisor, ". ")
        else:
            print("Not it quite yet, The random number is NOT divisible by ", divisor, ". ")



    guess = input("What is your guess? ")
    #If the counter is above 3 then they are allowed to type 'cheat'
    if counter <= 3 and guess.lower() == "cheat":
        print("The number is ", cheat, ".")

    #If the player gets it right
    elif int(guess) == random_:
        print("You guessed the right number! :)")
        print("It only took you ", counter, " attempts!")
        #Break out of the while loop
        break




    #If the user types cheat , then we don't want the lines below to run as it will give us an error, hence the elif
    elif int(guess) < random_:
        print("Your guess is smaller than the random number. ")
    elif int(guess) > random_:
        print("Your guess is bigger than the random number. ")
    #Spacer to seperate attempts
    print("")


    counter += 1

#Print be careful as below code will run if they win or lose
if int(guess) != random_:
    print("You failed!!!!!!!!!!!!!!!!")

1 个答案:

答案 0 :(得分:0)

我重写了代码,让它变得更加通用。注意到很多错误,比如你忘记在打印声明的末尾放置一个结束括号。同样在print语句中,你正在进行字符串连接(你将字符串组合在一起)不正确。

import random

counter = 1
random_ = random.randint(1, 101)
print("Random number: " + str(random_)) #Remove when releasing final prduct
divisor = random.randint(2, 6)
cheat = random_
print("I have generated a random number for you to guess (between 1-100)" )

while counter < 5:
    if counter == 3:
        print("Nope. Do you have what it takes? If not, type in 'cheat' to have the random number revealed.  ")
        if random_ % divisor == 0:
            print("Not it quite yet. The random number can be divided by " + str(divisor) + ". ")
        else:
            print("Not it quite yet, The random number is NOT divisible by " + str(divisor) + ". ")



    guess = input("What is your guess? ")
    #If the counter is above 3 then they are allowed to type 'cheat'
    if counter <= 3 and guess.lower() == "cheat":
        print("The number is " + str(cheat) +".")

    #If the player gets it right
    elif int(guess) == random_:
        print("You guessed the right number! :)")
        print("It only took you " + str(counter) + " attempts!")
        #Break out of the while loop
        break




    #If the user types cheat , then we don't want the lines below to run as it will give us an error, hence the elif
    elif int(guess) < random_:
        print("Your guess is smaller than the random number. ")
    elif int(guess) > random_:
        print("Your guess is bigger than the random number. ")
    #Spacer to seperate attempts
    print("")


    counter += 1

#Print be careful as below code will run if they win or lose
if int(guess) != random_:
    print("You failed!!!!!!!!!!!!!!!!")