my_string은 "3 + 5"처럼 문자열로 된 수식입니다. 문자열 my_string이 매개변수로 주어질 때, 수식을 계산한 값을 return 하는 solution 함수를 완성해주세요.
| my_string | result |
|---|---|
| "3 + 4" | 7 |
def solution(my_string):
answer = 0
for i in my_string:
if i in ['+','-']:
my_string = my_string.split(i)
if i == '+':
answer = int(my_string[0]) + int(my_string[1])
else:
answer = int(my_string[0]) - int(my_string[1])
return answer
from functools import reduce
def solution(my_string):
if '+' in my_string:
my_string = my_string.split('+')
answer = sum(list(map(int,my_string)))
if '-' in my_string:
my_string = my_string.split('-')
answer = reduce(lambda acc, cur: int(acc) - int(cur), my_string)
return answer
+와 -가 혼합되어 사용될 수도 있다...def solution(my_string):
return eval(my_string)
eval()
eval은 ‘evaluate’, 즉 ‘평가한다는 뜻으로 입력으로 받은 ‘expression’을 해석해 단일값으로 반환한다.
이 함수를 간단하게 사용해보자.# 1. eval('1+2+3') # 2. name = "Parkito" sentence = eval(name + ', what is your hobby?') # 3. eval('1 * 2 * 3 * 4 * 5') # 출력 >> 6 >> 'Parkito, what is your hobby?' >> 120
-를 +-로 바꾸고 +로 split 해버려서 음수로 만듦👍🏻def solution(my_string):
return sum(int(i) for i in my_string.replace(' - ', ' + -').split(' + '))