我很难理解如何更改此代码。我不想在将输入值与随机整数进行比较之前将其转换为整数,而是将随机整数转换为字符串,然后进行比较(将字符串与字符串进行比较)。我是编程的初学者。另外,我不想要我回答的问题,如何更好地理解它以及我应该从哪里开始。我很抱歉这对人们来说似乎很容易,但我正在努力解决它。
import random
#this function generates a random number between 1 and 100 and asks the user to guess the number
def playGame2():
number = random.randint(1,100)
guess = input("I'm thinking of a number between 1 and 100. Guess what it is: ")
if number == int(guess):
print("That is correct!")
else:
print("Nope...I was thinking of " + str(number))
答案 0 :(得分:2)
正如Mark Ransom所说,你基本上已经回答了自己的问题;使用str
转换为字符串,就像int
转换为整数一样。
为了最有效地使用它,您可以在生成后立即将随机整数转换为字符串:
number = str(random.randint(1,100))
现在,由于number
和guess
都是字符串,因此无需进行任何进一步的转换以进行比较或打印。
答案 1 :(得分:1)
您仍然需要处理我可以输入eight
而不是8
这一事实。你真的很亲近,每个人的帮助都让你到了那里,但试着在这里使用一些异常处理,以防万一,开始处理异常永远不会太早!
def playGame2():
number = str(random.randint(1,100))
try:
guess = input("I'm thinking of a number between 1 and 100. Guess what it is: ")
if number == int(guess):
print("That is correct!")
else:
print("Nope...I was thinking of " + str(number))
except:
print "Oops, please use a numeric value."
playGame2()
如果有人输入单词,这将引导您完成NameError。我知道这可能只适合你或班级,但它仍然是很好的做法。
答案 2 :(得分:-2)
message = input('Message: ')
print(ascii(message)