Ограничение ввода между двумя числами и проверка, является ли ввод числом или нет одновременно - PullRequest
0 голосов
/ 08 октября 2018

Я пытался улучшить мою игру в угадайку на Python, ограничив ввод догадки двумя числами (от 1 до 100) и спрашивая, является ли ввод угаданного числа или нет.Я пытался сделать это оба одновременно.Есть ли в любом случае я могу сделать это с помощью минимального кодирования?

Ответы [ 2 ]

0 голосов
/ 08 октября 2018
while True:
  try:
    number = raw_input("Enter a number between 1 and 100: ")
    if number.isdigit():
       number=int(number)
    else:   
       raise ValueError()
    if 1 <= number <= 100:
        break
    raise ValueError()
  except ValueError:
    print("Input must be an integer between 1 and 100.")

это небольшое улучшение по сравнению с ответом @blhsing, так что программа не падает при вводе строки

0 голосов
/ 08 октября 2018

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

while True:
    try:
        number = int(input("Enter a number between 1 and 100: "))
        if 1 <= number <= 100:
            break
        raise ValueError()
    except ValueError:
        print("Input must be an integer between 1 and 100.")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...