python - 如何将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()
解决方案
您可以尝试将 Guess 从 str 转换为 int,并以整数进行比较。
elif int(Guess) < value:
推荐阅读
- reactjs - 如何使用功能组件在浏览器中打印 react-chartjs-2 条形图?
- javascript - 根据过滤器更改按钮值
- google-sheets - 数据透视表的替代方案
- spring - 弹簧靴中具有多个 OR 条件的内连接
- android-intent - 如何使用 Xamarin Android 中的存储访问框架从 URL 下载文件并保存到公共外部目录?
- c - 如果我在代码中将函数命名为与库中已存在的函数相同的名称,会发生什么情况
- swift - VStack 中的意外 GeometryReader 视图行为
- c++ - LibMongoCxx 的正确 CMake 配置
- java - Spring 配置属性 - 同一列表中的多态对象
- java - 如何使用条件构建器和谓词查询嵌套对象