2015-03-06 2 views
0

В моем коде для угадывания игры, даже если догадка равна 1, она возвращает, что предположение слишком велико. Не могу понять это. Благодаря!while loop работает неправильно

+0

Помимо вашей последней печати линия кажется неполным. Я считаю, что вы хотите показать количество догадок, но ваш 'guessCounter' на самом деле является запущенным списком с приложением' guessNums'. Итак, добавьте '+ len (guessCounter)' в конец инструкции print. Кроме того, это было бы не средним, а полным. – Parfait

ответ

0

Ваш guessNum - это строка. Нужно сделать это до int, когда вы ожидаете, что пользователь вводит целое число. Например:

guessNum = int(raw_input('Enter a number between 1 and 100: ')) 
+0

я пытался что уже и получаю сообщение об ошибке: –

+0

Traceback (самый последний вызов последнего): Файл "C: \ Users \ Jae \ Desktop \ Scripting \ q1", строка 23, в основной() Файл «C: \ Users \ Jae \ Desktop \ Scripting \ q1 ", строка 12, в основном print guessNum +" слишком низко " ТипError: неподдерживаемый тип операндов для +: 'int' и 'str' –

+0

@JeffCrackalack Вы не можете добавьте целые числа в строки. для этого необходимо преобразовать int в строку или форматирование строки. Пример первого случая: 'str (guessNum) +" слишком высок, повторите попытку: "' и second: '" {} слишком высока, повторите попытку: ". Format (guessNum)' – Marcin

1

По существу, вы не должны использовать raw_input, так как это даст вам строку, а не целое число. Попробуйте использовать вход

Пожалуйста, смотрите этот вопрос для более подробной информации: Python read input as integers

+0

Важно отметить, что raw_input больше не доступен с Python 3.0 – Stephen

+0

. Я тоже это пробовал, и он не избавится от проблемы, из которой он всегда выводит догадки, слишком высок, даже когда я ввожу '1', и я running 2.7 –

+0

Я только что запустил код с предложенным изменением: int (input ('Введите число от 1 до 100:')); а также: print str (guessNum) + «слишком низко». Код работал нормально – Stephen

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