코딩 테스트/백준
[Python] 백준 27433 팩토리얼 2
위시리
2024. 9. 21. 01:42

문제 분석
- 펙토리얼
코드 설계
- 정수를 입력받고 입력받은 정수에 대한 펙토리얼 값을 계산하여 return
정답 코드
1차 - TypeError: 'str' object is not callable
import sys
input = sys.stdin.readline().rstrip()
n = int(input())
sum = 1
def factorial(i) :
if i == 0 or i == 1 : # 종료 조건
return 1
sum = i * factorial(i-1)
print(factorial(n))
- 코드에서 input이라는 이름을 변수로 사용했기 때문에 에러 발생 (by chatGPT)
- sys.stdin.readline().rstrip()이라는 구문으로 input 함수를 덮어써서, 이후 input()을 호출하려고 할 때 str 객체가 호출 가능하지 않다는 에러가 발생
- input 대신 user_input을 사용하여 input() 내장 함수를 덮어쓰지 않도록 수정
2차 - 성공
import sys
input_user = sys.stdin.readline().rstrip()
n = int(input_user)
sum = 1
def factorial(i) :
if i == 0 or i == 1 : # 종료 조건
return 1
return i * factorial(i-1)
print(factorial(n))