Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 4, 2018 21:44:10

olk
Зарегистрирован: 2018-06-04
Сообщения: 4
Репутация: +  0  -
Профиль   Адрес электронной почты  

калькулятор

чи можна використовувати функцію eval для калькулятора як основну
while True:
resalt=eval(input(“Enter your action ”))
print(“Resalt : ”,resalt)

Офлайн

#2 Июнь 4, 2018 23:07:15

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

калькулятор

Если прямо отвечать, то да. А если например до этого сделать from math import *, то еще и математические функции типа синус можно будет использовать (правда в радианах, а не градусах).
Но в целом использование в реальных проектах eval в таком виде не приветствуется, если не сказать больше - запрещено. По соображениям безопасности.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Июнь 4, 2018 23:51:13

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

калькулятор

olk
resalt=eval(input(“Enter your action ”))
в такомм виде точно нет, а если я туда напишу вместо 2+2 чтото типа import os; os.system('format c:')
eval в общем крайне не рекомендуется использовать если вы не доверяете на 110% тому что пришло, а тупо скармливать евалу то что ввел пользователь это вообще за гранью добра и зла. Делайте хоть какуюто проверку того что ввел пользователь. Например для начала организуйте проверку чтобы в строке не было никаких иных символов кроме +-\*() и цифр.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version