首页 > 解决方案 > 如何将str转换为int

问题描述

我正在做一个猜谜游戏,我需要知道如何阻止它按字典顺序排列我的答案,因为这会在我的游戏中产生错误。

我尝试过而不是elif Guess < str(value):制作它,elif Guess < int(value):但我收到错误消息“'<'在'str'和'int'的实例之间不支持”并且我对其他任何事情都没有运气

这是我正在使用的代码

from random import *
from random import randint
import os

numbers = []
Guesses = []
dif = []

os.system('CLS')
print("I want you to guess my number")
print("\n \n \n \nIf you give up type 'give up' word for word")

f = open("Data.txt", "a")

print("Say 'yes' If You're Ready")

YN = input()



if YN == "yes":
    os.system('cls')
    print("Select a difficulty")
    print('impossible 1 - 10000')
    print('annoying 1 - 1000')
    print('hard 1 - 500')
    print('medium 1 - 200')
    print('easy 1 - 99')
    print('beginner 1 - 10')

diff = input()





if diff == 'easy':
    os.system('CLS')
    value = randint(1, 99)
    numbers.append(value)
    dif.append(diff)

elif diff == 'beginner':
    os.system('CLS')
    value = randint(1, 10)
    numbers.append(value)
    dif.append(diff)

elif diff == 'medium':
    os.system('CLS')
    value = randint(1, 199)
    numbers.append(value)
    dif.append(diff)

elif diff == 'hard':
    os.system('CLS')
    value = randint(1, 499)
    numbers.append(value)
    dif.append(diff)

elif diff == 'annoying':
    os.system('CLS')
    value = randint(1, 1000)
    numbers.append(value)
    dif.append(diff)

elif diff == 'impossible':
    os.system('CLS')
    value = randint(1, 10000)
    numbers.append(value)
    dif.append(diff)


os.system('cls')

while True:
    Guess = input()



    if Guess == "give up":
        print("The Number Was " + str(numbers))
        f.write("------------------------------------------------------------- \n \r")
        f.write("Guesses " + str(Guesses) + "\n \r")
        f.write("Difficulty: " + str(dif) + "\n \r")
        f.write("[USER GAVE UP] \n \r")
        f.write("Correct Answer: " + str(numbers) + "\n \r")
        f.write("------------------------------------------------------------- \n \r")
        break

    elif Guess < str(value):
        print("Higher")
        Guesses.append(Guess + " - Higher")

    elif Guess > str(value):
        print("Lower")
        Guesses.append(Guess + " - Lower")


    elif Guess == str(value):
        os.system('CLS')
        length = len(Guesses)
        f.write("------------------------------------------------------------- \n \r")
        f.write("Guesses " + str(Guesses) + "\n \r")
        f.write("Difficulty: " + str(dif) + "\n \r")
        f.write("Number Of Guesses [" + str(length) + "]\n \r")
        f.write("Correct Answer: " + str(numbers) + "\n \r")
        f.write("------------------------------------------------------------- \n \r")
        print("That Was Correct!")
        for x in Guesses:
            print(x)
        break

input()


标签: pythonlexicographic

解决方案


您可以尝试将 Guess 从 str 转换为 int,并以整数进行比较。

elif int(Guess) < value:

推荐阅读