Предмет: Информатика, автор: top4ikmad

1)Что не так? 2)+ как сделать так, чтобы кол-во чисел которые мы можем написать для примера было бесконечным.
1)
a = int(input())

c = input("Желаемое действие(+ - * / DEL): ")

b = int(input())

if c == "+":

print(a + ())

elif c == "-":

print(a - ())

elif c == "*":

print(a * ())

elif c == "/":

if b == 0:

print("На ноль делить нельзя!")

else:

print(a / ())

b = float(input("Введите второе число: "))

c = input("Желаемое действие(+ - * DEL): ")

if c == "+":

print(a + b)

elif c == "-":

print(a - b)

elif c == "*":

print(a * b)

# Python program to remove multiple

# elements from a list

# creating a list

list1 = [11, 5, 17, 18, 23, 50]

# Iterate each element in list

# and add them in variable total

for ele in list1:

if ele % 2 == 0:

list1.remove(ele)

2)

Вот пример:19*20+30000-29000

Ответы

Автор ответа: settom
0

В коде есть лишнее и повторяющееся, почистил, получилось так.

Выход из бесконечного цикла при вводе EXIT

На сколько я могу понять, DEL должен отменять последнее действие. Но в таком исполнении будет отменено только последнее действие, повторный DEL уже будет давать пользователю отлуп. Для корректной работы с возможностью удаления всех действий нужно куда-то их сохранять.

Объяснение:

a = float(input("Введите первое число: "))

c = ""

result = a

while True :

   prec = c

   c = input("Желаемое действие (+ - * / DEL EXIT): ")

   if c=="EXIT" : break

   if c!="DEL" : b = float(input("Введите следующее число: "))

   if c == "/" and b==0 :

       print("На ноль делить нельзя!")

       continue

   else:

       print(str(result) + " "+ c + " " + str(b)  + " = ")

   if c == "+":

       result = result + b

   elif c == "-":

       result = result - b

   elif c == "*":

       result = result * b

   elif c == "/":

       result = result / b

   elif c == "DEL":

       if prec == "+":

           result = result - b

       elif prec == "-":

           result = result + b

       elif prec == "*":

           result = result / b

       elif prec == "/":

           result = result * b    

       elif prec == "DEL2":

           print("Невозможно отменить действие")

       c = "DEL2"

   print(result)

   

print("Программа завершена. Последнее значение = "+str(result)


top4ikmad: А что это за прикол?Почему после решения первых двух цифр, помимо самого ответа над ним появляется первая цифра со знаком? Остальным полностью доволен.
top4ikmad: Это можно как то убрать?
settom: Что-то похожее было в исходном коде, я так и оставил
settom: если нужен только ответ, то достаточно убрать else:
print(str(result) + " "+ c + " " + str(b) + " = ")
top4ikmad: Cпасибо что помогли завершить мой первый проект на Python!
settom: Надеюсь Python не первый язык программирования, который вы изучаете
Похожие вопросы
Предмет: Английский язык, автор: KseniyaAfanasevaCat
Предмет: Математика, автор: Айяулым9
Предмет: Обществознание, автор: 1Danik9