将随机整数转换为字符串

时间:2013-09-16 21:02:13

标签: python

我很难理解如何更改此代码。我不想在将输入值与随机整数进行比较之前将其转换为整数,而是将随机整数转换为字符串,然后进行比较(将字符串与字符串进行比较)。我是编程的初学者。另外,我不想要我回答的问题,如何更好地理解它以及我应该从哪里开始。我很抱歉这对人们来说似乎很容易,但我正在努力解决它。

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))

3 个答案:

答案 0 :(得分:2)

正如Mark Ransom所说,你基本上已经回答了自己的问题;使用str转换为字符串,就像int转换为整数一样。

为了最有效地使用它,您可以在生成后立即将随机整数转换为字符串:

number = str(random.randint(1,100))

现在,由于numberguess都是字符串,因此无需进行任何进一步的转换以进行比较或打印。

答案 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)