Вопрос Крутой код? питон

Регистрация
28 Мар 2013
Сообщения
101
Репутация
0
Спасибо
0
Монет
0
def kalk():



try:



a = float(input("Введите 1 число/цифру: "))



b = float(input("Введите 2 число/цифру: "))



d = 0



p = 0



try:



def kera():



c = input("Выберите действие\"+,-\": ")



if (c == "+"):



d = a + b



print("Результат: " + str(d))



exit()



elif (c == "-"):



p = a - b



print("Результат: " + str(p))



exit()



else:



print("Выбрано неверное действие!")



kera()



kera()







except ValueError:



print("Действие выбрано неправильно!")



kalk()





except ValueError:



print("Нужно ввести число или цифру!")



kalk()



except ZeroDivisionError:



print("Действие с этими числами/цифрами невозможно!")



kalk()



kalk()
 
Типичный код новичка, который понимает, что хочет сделать, но не понимает, как это делать правильно.

Вложенность функции в функцию - бессмысленное усложнение кода. Да и само наличие двух функций не оправдано.

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

Сообщение "Действие выбрано неправильно!" ты ни при каких входных данных не получишь - бессмысленный обработчик исключений, усложняющий код.

exit() в функции kera - неумение пользоваться return.

str(d) и str(p) - неумение пользоваться функцией print.

Наличие двух переменных d и p - трата лишней памяти.
 
Назад
Сверху