Python Здравствуйте, сегодня впервые работаю с этим языком программирования. Не понимаю,...

+107 голосов
3.8m просмотров

Python Здравствуйте, сегодня впервые работаю с этим языком программирования. Не понимаю, в чём ошибка. До while (всё, что на первой фотке) всё работало, а начиная со второго фото программа не открывается Буду благодарна за ответ)


Информатика (152 баллов) | 3.8m просмотров
+131

ТС, у тебя ещё осталась возможность редактировать вопрос? Кинь туда кодяру, её так можно будет отладить. Вопрос есть, голодных до горстки баллов хоть отбавляй, только тебя, свет очей моих, всё нет и нет

+145

Попробуйте в 32 строке знак плюса перед input убрать

+128

"начал не я)", ты слишком близко к сердцу воспринимаешь шутки, дружище.

+186

Да мы тут хором вроде отчёт об ошибке попросили)

Дан 1 ответ
+169 голосов

Объяснение:

Итак, было 2 места с опечатками.

Во-первых, строка 29 - ввод числа - действия. Стоял плюс перед input(). option = +input(...

Во-вторых, строка 34 - вывод результата сложения, результат суммы не присоединялся к строке (забыт оператор +).

Исправил и приложил код ниже.

P.S. Вообще тема калькуляторов - вещь интересная. Она стоит на границе двух областей: компиляторов (парсинг, синтаксический анализ, etc.) и символьных вычислений (Это про то, как по текстовому выражению решить дифференциальное уравнение или построить график функции, или решить квадратное уравнение аналитически).

Если тебя так интересует эта тема, можешь продолжить написанием более функционального калькулятора для обратной польской записи, например.

Успехов в обучении!

Код:

like = "Great, I'm too! So let's enjoy math together)"

hate = "But I do like! So I can help you as well)"

what = "Could you please answer Yes or No)"

anyway = "Although I can't understand you again, let's do this!"

option = "6"

i = "7"

name = input("Hey, what's your name? ")

print("Wow, what a beautiful name ")

math = input(name + ", do you like mathematics? ")

if math.lower() == "yes":

   print(like)

elif math.lower() == "no":

   print(hate)

else:

   print(what)

   print("         ")

   math = input(name + ", do you like mathematics? ")

   if math.lower() == "yes":

       print(like)

   elif math.lower() == "no":

       print(hate)

   else:

       print(anyway)

print("         ")

while i == "7":

   print("I can find the sum(1), difference(2), product(3), fraction(4), of two numbers and raise number to the power(5) or end this game(0)")

   option = input("select the needed option by sending corresponding number   ")  # HERE! You have placed a plus before an input()

   if option == "1":

       n1 = float(input("So you have chosen the sum. Enter the first number   "))

       n2 = float(input(f"And what number you wanna add to {n1} ?   "))

       sum = n1+n2

       print(f"The sum of {n1} and {n2} is {sum}")  # And THERE! You have written down ... + "is" sum) without a concatination plus

       print("      ")

   elif option == "2":

       n1 = float(input("So you have chosen the difference. Enter the first number   "))

       n2 = float(input("And the second?   "))

       dif = n1 - n2

       print(f"{n1} - {n2} = {dif}")

       print("      ")

   elif option == "3":

       n1 = float(input("So you have chosen the production. Enter the first number   "))

       n2 = float(input("And the second one   "))

       prod = n1 * n2

       print(f"The result is {prod}")

       print("      ")

   elif option == "4":

       n1 = float(input("So you have chosen the fraction. Enter the first number   "))

       n2 = float(input(f"And {n1} is divided by...   "))

       fr = n1 / n2

       print(f"So, the result is {fr}")

       print("      ")

   elif option == "5":

       n1 = float(input("What number should I raise to the poser?   "))

       n2 = float(input(f"And what is exponent (the little number above {n1}) ?   "))

       power = n1 ** n2

       print(f"{n1}^{n2} is {power}")

       print("      ")

   elif option == "0":

       input("The game is ended!")

       break

   else:

       print("I don't have any options like this. Try again.")

(6.9k баллов)