def solution(my_string):
    return eval(my_string)


🤔 문제 풀이

  • 파이썬에는 문자열을 그대로 매개변수로 받아서 계산하는 내장 함수가 있어요
    • eval()이라는 함수를 알게 된 문제였어요

eval() 함수

 

매개변수로 받은 expression(=식)을 문자열로 받아서 실행하는 함수이다.

  • 식(값, 연산자, 변수)은 파이썬에서 실행 가능한 문자열이 들어와야 한다.
    • 'a > b'
    • '1 + 2'
    • '1'
예제 1. 문자열 덧셈
# 1. 문자열 덧셈
a = eval('"Black" + "cat"')
print(f"1. eval('\"Black\"' + '\" cat\"') : {a}") 
-----
#  eval('"Black" + "cat"') : Blackcat
예제 2. 숫자 덧셈
# 2. 숫자 덧셈
b = eval("100 + 32")
print(f'2. eval("100 + 32") : {b}') 
-----
# eval("100 + 32") : 132
예제 3. 내장 함수
# 3. 내장 함수
absc = eval("abs(-56)")
print(f'3. eval("abs(-56)") : {c}') 
-----
# eval("abs(-56)") : 56
예제 4. 리스트 길이
# 4. 리스트 길이
d = eval("len([1,2,3,4])")
print(f'4. eval("len([1,2,3,4])") : {d}') 
-----
# eval("len([1,2,3,4])") : 4
예제 5. round 함수
# 5. round 함수
e = eval("round(1.5)")
print(f'5. eval("round(1.5)") : {e}')
-----
eval("round(1.5)") : 2

+ Recent posts