Как создать цикл, который позволяет пользователю вводить, пока они не будут правильными в Python - PullRequest
0 голосов
/ 06 мая 2019

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

Я пытался использовать условные выражения и цикл while, но не могу запустить его.

if (userGuess > targetNum):

    print "\nToo high\n"

elif (userGuess < targetNum):
        print "\nToo low\n"

else:
        print "\nThat's it! Nice job!\n"

Эта программа работает, но мне нужна помощь, чтобы она зациклилась, чтобы пользователь мог ввести свои догадки и получить обратную связь, если она слишком высокая или слишком низкая, пока они не угадают правильное число.Спасибо

Ответы [ 3 ]

0 голосов
/ 06 мая 2019

добавить логическое значение, которое будет вызвано условием

wrong = True

while(wrong) : 
  if (userGuess > targetNum):
      print "\nToo high\n"
  elif (userGuess < targetNum):
      print "\nToo low\n"
  else:
      print "\nThat's it! Nice job!\n"
      wrong = False 
0 голосов
/ 06 мая 2019

Вы должны поместить свои операторы IF в цикл while True:.

userGuess = float(input("What's your guess? "))
targetNum = 10

while True:
    if userGuess > targetNum:
        print ("\n Too high\n")
        userGuess = float(input("What's your guess? "))
    elif userGuess < targetNum:
        print ("\n Too low\n")
        userGuess = float(input("What's your guess? "))
    else:
        print ("\n That's it! Nice job! \n")
        break
0 голосов
/ 06 мая 2019

Необходимо убедиться, что вы прервете цикл, когда доберетесь до успешного случая

targetNum = 5
while True:
    userGuess = int(input("Guess Number"))
    if (userGuess > targetNum):
        print("\nToo high\n")
        continue
    elif (userGuess < targetNum):
        print("\nToo low\n")
        continue
    #Break here
    else:
        print("\nThat's it! Nice job!\n")
        break

Вывод может выглядеть как

Guess Number7

Too high

Guess Number9

Too high

Guess Number12

Too high

Guess Number5

That's it! Nice job!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...