coolestpelican Ответов: 2

В то время как цикл дает недопустимый ввод, даже если вводится допустимый #


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


x = ""

while True:             # Loop continuously
    game_type = int(input("Enter game type, either 8-ball or 9-ball with a single number (aka = 8 or 9): "))   # Get the input
    if game_type != "8" and game_type != "9":
      print(x)
      print("Invalid game type, please enter 8 or 9")
      print(x)
    elif game_type == 8 or game_type == 9:       # If it is a blank line...
      break 

print("the game type is",game_type)


Что я уже пробовал:

Я пробовал различные форматы while, но, похоже, не могу успешно перевести его в эту программу

Richard MacCutchan

Вы преобразуете входные данные в целое число, но затем сравниваете их со строкой.

2 Ответов

Рейтинг:
2

Richard MacCutchan

while True:             # Loop continuously
    game_type = int(input("Enter game type, either 8-ball or 9-ball with a single number (aka = 8 or 9): "))   # Get the input
    if game_type != 8 and game_type != 9:
      print(x)
      print("Invalid game type:", game_type, "please enter 8 or 9")
      print(x)
    else:
      break 

print("the game type is",game_type)


Рейтинг:
2

Patrice T

Цитата:
Я не уверен, как исправить этот цикл while, чтобы дать "недопустимую запись", когда вход не равен 8 или 9, но обычно обрабатывается или прерывается, когда дается правильный ответ

Вам нужно сделать свой ум и выбрать, ввод-это строка или число, а не то и другое.
x = ""

while True:             # Loop continuously
    game_type = int(input("Enter game type, either 8-ball or 9-ball with a single number (aka = 8 or 9): "))   # Get the input
    if game_type != "8" and game_type != "9":
      print(x)
      print("Invalid game type, please enter 8 or 9")
      print(x)
    elif game_type == 8 or game_type == 9:       # If it is a blank line...
      break 

print("the game type is",game_type)