#python #string
Вопрос:
Я новичок в кодировании, и я все еще делаю свой «первый» калькулятор, и мне было интересно, как сделать всего 5 символов («-» » » «/» «x» «^») в единственно возможный ввод, на который пользователь может ответить, или это приведет к сообщению «Неверно», извините за мои ограниченные знания об этом, это также мой первый пост здесь, заранее спасибо! Это то, что я делал до сих пор —
try:
number_1 = float(input("Insert number 1 here: "))
sign = str(input(" - / x ^: "))
number_2 = float(input("Insert number 2 here: "))
except ValueError:
print("Invalid")
exit()
if sign != "-" " " "/" "x" "^":
print("Invalid")
exit()
elif sign == "-":
print(number_1 - number_2)
elif sign == " ":
print(number_2 number_1)
elif sign == "/":
if number_2 == 0:
print("Invalid")
exit()
print(number_1 / number_2)
elif sign == "x":
print(number_1 * number_2)
elif sign == "^":
print(number_1 ** number_2)
else:
print("Invalid")
Ответ №1:
Вы можете использовать всю мощь функций! Создайте функцию, которая неоднократно запрашивает ввод данных пользователя, пока он не выдаст вам что-то действительное!
def ask_float(title):
while True:
try:
return float(input(title))
except ValueError:
print("Invalid choice. Try again!")
def ask_sign():
while True:
sign = input(" - / x ^: ").strip()
if sign in (" ", "-", "/", "x", "^"):
return sign
print("Invalid choice. Try again!")
Теперь в своем коде вы можете сделать:
number_1 = ask_number("Insert number 1 here: ")
sign = ask_sign()
number_2 = ask_number("Insert number 2 here: ")
Комментарии:
1. Разве ты не должен сейчас спать? Хороший отдых важен 😉 1, чтобы заставить вас идти :p
2. @mozway LMAO. Справедливо. Я ухожу :П
3. Боже, ты просто свел меня с ума, я знал о функциях, но не знал, когда их использовать, но теперь я получил хорошее представление об этом, спасибо