2016-02-12 92 views
3
import random 

guesses = 3 
number = random.randint(1, 10) 
print (number) #<- To test what number im supposed to write. 

while guesses > 0: # When you have more than 0 guesses -> guess another number 
    guess = input("Guess: ") 

    if guess == number : # If guess is equal to number -> end game 
     print ('Your guess is right!.') 
     break 


    if guess != number : # If not number -> -1 guess 
     print ("Nope!") 
     guesses -= 1 

    if guesses == 0: #If all 3 guesses are made -> end game 
     print("That was it! Sorry.") 
     print(number,"was the right answer!") 

我在做什么错? 我想不出来,我希望你能帮助^ -^为什么这段代码无法正常工作(我刚接触编程,python)

如果你能教我如何改善我的编程,然后随时写我如何做到这一点!我打开学习新的东西btw对不起,我的英语不好:3(编辑:当我猜对了正确的数字,它仍然说“没有!”,我不得不猜测另一个数字。)

+2

什么不起作用?你期望什么作为输出,什么是实际输出? – k4ppa

+1

当我猜想正确的数字,它仍然说,猜测是错误的,所以我不知道什么是错的。 – Venx

+1

这看起来像Python3。如果是这样,请使用'guess = int(input(“Guess:”))'。 – bernie

回答

2

这看起来像Python3。如果是这样,请改用guess = int(input("Guess: "))

在Python3中input()返回一个字符串,并将该字符串与一个永远不会工作的整数进行比较。因此,将input()的返回值转换为一个整数,以确保您将苹果与苹果进行比较。

+1

你应该在那里放一点点信息。例如,他应该确保输入*可以转换为整数。否则,他会在半小时后回到这里,问“为什么这段代码不工作?” – zondo

+1

谢谢@zondo。我会补充一点。 – bernie

0

你需要把int类型输入的前面,所以:

guess = int(input("Guess: ")) 

这将转向的猜测成一个整数,所以代码识别它。

+0

这个问题已经有类似的答案 –

0

input()命令返回一个字符串,并且字符串不等于一个数字("3" == 3的计算结果为false)。您可以使用int(...)函数将字符串(或浮点数)转换为整数。

我假设你使用Python 3.x,因为print是一个函数。如果您使用的是Python 2.x,则应该使用raw_input(),因为input()会导致解释程序将Python代码输入并执行它(如eval(...)函数那样)。

在99.999%的所有情况下,你要做而不是想要执行用户输入。 ;-)

+0

这个问题已经有类似的答案 –

-1

您的程序需要的另一个相当重要的事情是提示用户,让他们知道他们将如何处理您的程序。我已经相应地添加了提示。

import random 

print ("Hello. We are going to be playing a guessing game where you guess a random number from 1-10. You get three guesses.") 
number = random.randint(1, 10) 
# print (number) #<- To test what number im supposed to write. 
guesses = 3 
while guesses > 0: # When you have more than 0 guesses -> guess another number 
    guess = input("Enter your guess: ") 

    if guess == number : # If guess is equal to number -> end game 
     print ('Your guess is right!.') 
     break 


    if guess != number : # If not number -> -1 guess 
     print ("Nope!") 
     guesses -= 1 

    if guesses == 0: #If all 3 guesses are made -> end game 
     print("That was it! Sorry.") 
     print(number, "was the right answer!") 
相关问题