Это мой код для моего класса Computer Science. Я добавил функцию, чтобы убедиться, что пользователь не вводит не-int/float. Я пытаюсь получить доступ к записи пользователя, чтобы повторить ее, чтобы она выглядела следующим образом:
Enter your first number:
> not_a_valid_float_or_int
"not_a_valid_float_or_int" is not a valid number, try again.
Поэтому в основном я пытаюсь заменить "Что вы ввели" на то, что пользователь ввел.
print("Hello!\n")
while True:
try:
firstnumber = float(input("Enter your first number:\n"))
except ValueError:
print("\nWhat you have entered is not a valid number, try again.")
else:
break
print()
while True:
try:
secondnumber = float(input("Enter your second number:\n"))
except ValueError:
print("\nWhat you have entered is not a valid number, try again.")
else:
break
print("\nThe first number is:", str(firstnumber).rstrip("0").rstrip(".") , "\nThe second number is:", str(secondnumber).rstrip("0").rstrip("."), "\nThe sum is:", str(firstnumber + secondnumber).rstrip("0").rstrip("."), "\nThe product is:", str(firstnumber * secondnumber).rstrip("0").rstrip("."))
Большое спасибо!
Дэвид
PS, пожалуйста, знайте, что я очень хорошо знаком с сценой кодирования.
Чтобы дать вам представление о том, что означает комментарий,
while True:
firstnumber_raw = input("Enter your first number:\n")
try:
firstnumber = float(firstnumber_raw)
except ValueError:
print("\n'" + firstnumber_raw "' is not a valid number, try again.")
else:
break
В качестве примечания, поскольку вы отметили Python 3.7, f-string - ваш друг.
try/except
, затемtry
использоватьfloat()
, и если ошибка обнаружена, вы можете использовать эту строку в печати ошибок.