Nameless95
Дек. 6, 2014 20:49:39
Помогите с написанием программы:
Напишите калькулятор. При запуске ваша программа должна ожидать ввода пользователем команды (при этом на экран выводить ничего не нужно). Команды могут быть трех типов:
1)Слово “exit”. В этом случае скрипт должен вывести на экран слово “bye” и завершить работу.
2)Три аргумента через пробел – первый операнд (целое число), операция (одна из “+”, “-”, “*”, “/”, “%”, “**”) и второй операнд (целое число). В этом случае нужно произвести указанную операцию над заданными числами и вывести результат на экран. После этого переходим в режим ожидания новой команды.
3)Любая другая команда из одного аргумента или из трех аргументов, но с операцией не из списка. В этом случае нужно вывести на экран слово “error” и завершить работу."
Заранее спасибо за помощь!
botinag
Дек. 6, 2014 22:31:57
actions = ('+', '-', '*', '/', '%', '**')
while True:
string = raw_input('')
args = string.split(' ')
if string == 'exit':
print('bye')
break
elif len(args) == 3:
if isinstance(args[0], int) and isinstance(args[2], int) and args[1] in actions:
print(eval(string))
else:
print('error')
break
else:
print('error')
break
как-то так. проверяйте сами.
dimy44
Дек. 7, 2014 00:10:09
Ну вот, так всегда)), ладно
while True:
e = input().lower().strip()
if e == 'exit':
print('bye')
break
lst = e.split()
try:
assert len(lst) == 3 and \
lst[1] in ['+', '-', '*', '/', '%', '**'] and \
isinstance(eval(lst[0]), int) and \
isinstance(eval(lst[2]), int)
print(eval(e))
except ZeroDivisionError:
print('Zero division')
except Exception:
print('error')
break
alchemist
Дек. 7, 2014 00:57:51
dimy44в Криму что свет есть? А в Одессе виключают
Лучше б всякие пидори сидели в темноте.
dimy44
Дек. 7, 2014 01:39:57
alchemist
dimy44в Криму что свет есть? А в Одессе виключают Лучше б всякие пидори сидели в темноте.
Ну, судя по твоему тону, твое желание как-раз и осуществляется. А в Крыму да, со светом проблем нету.
adm1nb3k
Дек. 7, 2014 08:11:05
Вообщета ТС не указаль, что программу надо запилит на баше.. Это задача от stepic`а..