2015-03-25 2 views
0

Я совершенно не знаком с Python, поэтому все это для меня немного ново.Small == Равно, создавая простой код python

Я пытаюсь создать сценарий, в котором он сам думает о числе, и после того, как палаты хотят, чтобы пользователь угадал номер и введите его. Казалось, что это работает, но здесь есть проблемы.

Он понимает все, но не понимает == часть. Потому что, несмотря на то, что оба числа одинаковы, он по-прежнему продолжается к заявлению else.

import random 

while True: 


    Thethinker = random.randint(1,10) 

    Guessnumber = (input("Guess a random number ")) 

    if Guessnumber == Thethinker: 
     print("Correct") 
     print(Thethinker) 
    else: 
     print("Not correct") 
     print(Thethinker) 

Любая помощь?

+0

Два элемента не совпадают ... Thethinker - это 'int', Guessnumber -' str' –

ответ

0

Ваш ввод возвращает строку вместо целого. Для того, чтобы получить целое сделать:

int(Guessnumber) 

Это лучше, чем при использовании Str(), потому что тогда, если вы хотите изменить номера, вы бы не быть в состоянии сделать это, не делая метод, который я предложил

Насколько я знаю, я не очень много Python

4

Предполагая, что Python 3, input возвращает строку .

В Python строка и число никогда не могут быть «равными»; вы должны преобразовать один или другой. Например, если вы используете

Thethinker = str(random.randint(1,10)) 

затем равенство-сравнение с другой строкой может успеха.

Смежные вопросы