input
не обрабатывает автоматически то, что ожидать от пользователя.Вы можете написать условную оценку того, что пользователь ввел:
try:
inp = input("num: ")
if f'{float(inp):.2f}' == inp:
print('Good to go')
else:
print('Your input does not contain exactly 2 decimal places')
except ValueError:
print('Only numbers allowed')
Обратите внимание, если вам нужно снова прочитать от пользователя ложную заметку, оберните все это в цикл while True:
.
Пробный прогон :
>>> num: 4
Your input does not contain exactly 2 decimal places
>>> num: something
Only numbers allowed
>>> num: 4.567
Your input does not contain exactly 2 decimal places
>>> num: 4.00
Good to go