0

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

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

3 回答 3

2

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

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

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

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

于 2013-09-16T21:13:53.717 回答
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。我知道这可能只适合你或一个班级,但它仍然是一个很好的做法。

于 2013-09-16T21:27:33.030 回答
-3
message = input('Message: ')

print(ascii(message)
于 2015-12-16T12:15:09.803 回答