Что я делаю неправильно? Мой код говорит мне, что предположение неверно, когда это правильно - PullRequest
1 голос
/ 05 ноября 2019

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

import random

random_number = random.randint(1, 1)
guess_number = int(input('I have picked a random number. Can you guess what it is? '))
while guess_number != True:
    int(input('I am sorry. That is not correct. Please try again. '))
else:
    print('That is correct!')

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

Ответы [ 3 ]

1 голос
/ 05 ноября 2019

У вас есть random_number, но вы нигде не сравниваете его с guess_number.

Вы сравниваете только guess_number (целое число) с True (логическое значение),что, очевидно, неверно.

Пожалуйста, сравните ваш код со следующим и спросите, есть ли что-то неясное:

import random

random_number = random.randint(1, 1)
guess_number = int(input('I have picked a random number. Can you guess what it is? '))
while guess_number != random_number:
    guess_number = int(input('I am sorry. That is not correct. Please try again. '))
print('That is correct!')

Кроме того, random.randint(1, 1) всегда возвращает 1. Вы, вероятно, хотите использовать разные номера.

0 голосов
/ 05 ноября 2019

Вам нужно сравнить что-то с вашим угадаемым номером.

while guess_number != random_number:
0 голосов
/ 05 ноября 2019

Несколько вещей:

  1. Вы генерируете случайное число от 1 до 1, которое совсем не случайно. Это должно быть между двумя разными числами.
  2. Ваше условие зацикливания неверно. Вы должны сравнивать случайно сгенерированное число с предполагаемым числом.
  3. Вы не устанавливаете второй вход равным чему-либо.

Вот рабочее решение, которое генерирует числа от 1 до10:

import random

random_number = random.randint(1, 10)
guess_number = -1
while True:
    guess_number = int(input('I have picked a random number. Can you guess what it is? '))

    if guess_number == random_number:
        print('That is correct!')
        break

    print('I am sorry. That is not correct. Please try again. ')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...