Я не знаю, как сделать обработку ошибок с неправильными вводами - PullRequest
0 голосов
/ 30 сентября 2019

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

На данный момент я ничего не пробовал

enter code here
myName = str(input('Hello! What is your name?')) #Asks the user to input their name
myName = str(myName.capitalize()) #Capitalises the first letter of their name if not already



level = int(input('Please select a level between 1 and 3. 1 being the easiest and 3 being the hardest'))




guessNumber()
print('')
print('It is recommended to pick a harder level if you chose to progress')
print('')
again = int(input("Would you like to play again? Input 1 for yes or 2 for no?" ))


# Is asking the user if they want to play again.

if again == 1: 
    guessNumber()


if again == 2:
    print('Thanks for playing Guessing Game :)')
    sys.exit(0) 

1 Ответ

0 голосов
/ 30 сентября 2019

Вы должны опубликовать код guessNumber().

вопрос довольно трудный для понимания в любом случае, я бы сделал это.

Чтобы принять string, и если введено значение int, оно выдаст сообщение, но вы не можете различить, поскольку int не может быть str, но str может быть числом.

try:
   myName=str(input("Enter name\n"))
except ValueError as okok:
   print("Please Enter proper value")
else:
   printvalue=f"{myName}"
   print(printvalue)
...