2016-10-02 3 views
0

숫자의 계승을 계산하는 함수가 있다면이 함수를 '!'문자로 호출 할 수있는 방법이 있습니까? ?파이썬에서 하나의 문자로 함수를 호출하십시오.

기본적으로, 나는

In [1]: 5! 

를 입력 받고 싶습니다 :

120 

을 나는 스파이더 IDE 파이썬 3.5을 사용하고 있습니다.

+3

어떤 포맷이 코드를 보이는 정확히하지 않습니다. 새로운 구문을 추가하려면 파이썬을 다시 작성해야했습니다. – furas

+0

아니요. 구문 오류입니다. – zvone

+0

숫자의 계승을 계산하는 함수는 * 숫자 *를 받아야합니다. '! '는 구문 오류를 피하기 위해 * 문자열 * (예 :' "5!"')을 사용해야한다는 것을 의미합니다. – ray

답변

0

당신은 이런 식으로 뭔가를 시도 할 수 있습니다 :

from math import factorial 

input_string = "5!" 

def is_int(input_string): 
try: 
    int(input_string[:-1]) 
    return True 
except ValueError: 
    return False 

if input_string[-1] == "!" and is_int(input_string): 
print(factorial(int(input_string[:-1]))) 

이 원하는 그러나 당신이 할 수없는, 가장 가까운 같은 솔루션 파이썬 2.7

관련 문제