문제 분석
- 펙토리얼
코드 설계
- 정수를 입력받고 입력받은 정수에 대한 펙토리얼 값을 계산하여 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))
'코딩 테스트 > 백준' 카테고리의 다른 글
[Python] 백준 25501 재귀의 귀재 (0) | 2024.09.21 |
---|---|
[Python] 백준 10870 피보나치 수 5 (0) | 2024.09.21 |
[Python] 백준 24511 queuestack (0) | 2024.09.11 |
[Python] 백준 2346 풍선 터뜨리기 (0) | 2024.09.11 |
[Python] 백준 11866 요세푸스 문제 0 (0) | 2024.09.11 |