随机猜数游戏抛出错误:str 和 int 之间不能使用 > 或 <



我有以下猜测游戏的代码:

import random
number = random.randint(1,100)
name = input('Hi, Whats your name?')
print ("Well", name, "i am thinking of a number between 1 and 100, take a guess")

guess1 = input()
if guess1 == number:
    print ("Good job, you got it!")
while guess1 != number:
    if guess1 > number:
        print ('your guess is too high')
    if guess1 < number:
        print ('your guess is too low')

引发><无法在strint之间使用的错误。

我该怎么办,它不会触发该错误?

您的代码中有两个错误。

  1. 您需要将猜测1的输入从字符串(默认情况下(转换为整数,然后才能将其与数字进行比较(整数(。

  2. while循环永远不会停止,因为您不让用户输入另一个值。

尝试以下操作:

import random
number = random.randint(1,100)
name = input('Hi, Whats your name?')
print ("Well", name, "i am thinking of a number between 1 and 100, take a guess")
guess1 = int(input()) # convert input from string to integer
while guess1 != number:
    if guess1 > number:
        print ('your guess is too high. Try again.')
    elif guess1 < number:
        print ('your guess is too low. Try again.')
    guess1 = int(input()) # asks user to take another guess
print("Good job, you got it!")

您可以使用 while loop在此处-https://www.tutorialspoint.com/python/python/python/python/python_while_lile_loop.htm

逻辑应为:

answer_is_correct = False
while not answer_is_correct :
    Keep receiving input until answer is correct

我希望这对您有用:

import random
myname = input('Hello, what is your name?')
print('Well',myname,'am thinking of a number between 1 and 100')
number = random.randint(1,100)
guess = 0
while guess < 4:
    guess_number = int(input('Enter a number:'))
    guess += 1
    if guess_number < number:
        print('Your guess is to low') 
    if guess_number > number:
        print('Your guess is to high')
    if guess_number == number:
        print('Your guess is correct the number is',number)
        break
    if guess == 4:
        break
print('The number i was thinking of is',number) 
from random import randint
print("you wanna guess a number between A to B and time of guess:")
A = int(input("A:"))
B = int(input("B:"))
time = int(input("time:"))
x = randint(1, 10)
print(x)
while time != 0:
    num = int(input("Enter: "))
    time -= 1
    if num == x:
        print("BLA BLA BLA")
        break
    print("NOPE !")
    if time == 0:
        print("game over")
        break

python 3中的代码用于猜测游戏:

import random
def guessGame():
    while True:
        while True:
            try:
                low, high = map(int,input("Enter a lower number and a higher numer for your game.").split())
                break
            except ValueError:
                print("Enter valid numbers please.")
        if low > high:
            print("The lower number can't be greater then the higher number.")
        elif low+10 >= high:
            print("At least lower number must be 10 less then the higher number")
        else:
            break
    find_me = random.randint(low,high)
    print("You have 6 chances to find the number...")
    chances = 6
    flag = 0
    while chances:
        chances-=1 
        guess = int(input("Enter your guess : "))
        if guess<high and guess>low:
            if guess < find_me:
                print("The number you have entered a number less then the predicted number.",end="//")
                print("{0} chances left.".format(chances))
            elif guess > find_me:
                print("The number you have entered a number greater then the predicted number.",end="//")
                print("{0} chances left.".format(chances))
            else:
                print("Congrats!! you have succesfully guessed the right answer.")
                return
        else:
            print("You must not input number out of range")
            print("{0} chances left.".format(chances))
    print("The predicted number was {0}".format(find_me))

您可以在段循环内进行条件检查是否正确。可以按照以下方式完成。

import random
print('Hello! What is your name?')
myName = input()
number = random.randint(1, 100)
print('Well, ' + myName + ', I am thinking of a number between 1 and 100.')
inputNumber = int(raw_input('Enter the number')
while inputNumber != number:
      print "Sorry wrong number , try again"
      inputNumber = int(raw_input('Enter the number')
print "Congrats!"
from random import *
def play_game():
    print("Let's play a number guessing game")
    # Selecting a random number between 1 and 100
    number = randint(1, 100)
    choice = int(input("I am thinking of a number between 1 and 100. Could you guess what it is? "))
    # Guide the user towards the right guess
    # Loop will continue until user guesses the right number
    while choice != number:
        if choice < number:
            choice = int(input("Too low. Can you try again? "))
        elif choice > number:
            choice = int(input("Too high. Can you try again? "))
    continue_game = input("You guessed it right! Would you like to play it again? (Y/N) ")
    # Restart the game if user wishes to play again
    if continue_game == "Y":
        print("--" * 42)
        play_game()
    else:
        print("Thanks for playing :)")
        exit(0)
play_game()

相关内容

  • 没有找到相关文章

最新更新