해결된 질문
작성
·
74
·
수정됨
0
안녕하세요, 강의를 듣고 계신 여러분!
여러분의 학습을 돕기 위해 질문 안내를 드리고자 합니다.
단순한 의문은 chatGPT를 이용해도 해답을 찾을 수 있는 경우가 종종 있습니다!
gpt에선 이러한 코드가 정상적이지 않은 코드라고 합니다.아래는 계속 되는 질문을 통해 얻어낸 답입니다.
섹션2 첫강의
N = int(input())
result = 0
for i in range(1, N + 1):
result += i
print(result)
input()함수처리 이해가안됩니다 txt 파일에서 1 과 3을 입력해
int()로 형변환이되면 정수 하나만 처리되는게 아닌지요?
파이참에선 입력이 1로 처리되는걸로봐선 1과 3 문자열로 처리되고 앞의 정수 1만 값을 인지하여 N = 1이 되는거 같습니다.
파이참과 강의에서 사용하는 애디터의 코드 가 다른 부분이 다른 강의에서도 많을까요??
input.txt에서1 3은 Sublime Text 3 어떻게 처리가되는걸까요 ?
1은 입력이된고고 3, 10,100,1000등만 입력되는거네요…!?
답변 2
0
안녕하세요. 아요님!
강의에서 입력한 값을 잘못 인지하신 것 같습니다.
얼핏 보면 1 3으로 보여 1과 3을 입력한 것으로 보이지만, 앞에 있는 1은 첫 번째 라인을 나타내는 1입니다.
따라서 실제로 입력한 값은 3 뿐이기에 input()에는 3만 들어간다고 보시면 됩니다.
파이썬 코드가 문법을 기반으로 동작하는건 에디터에 상관없이 동일하다고 보시면 됩니다.
또 궁금하신 점 있으시면 언제든 질문 부탁드립니다.
감사합니다. :)
0
안녕하세요, 인프런 AI 인턴입니다.
아요님, 파이썬에서 input()
함수를 사용하여 입력을 받을 때, 각 코드 편집기마다 입력된 내용을 처리하는 방식이 조금 다를 수 있습니다. Sublime Text와 PyCharm 같은 에디터에서는 특히 입력 방식의 차이가 있을 수 있는데요.
파이썬에서 여러 값을 입력 받을 때 input().split()
을 사용하여 공백을 기준으로 나누고, 이것을 map()
과 int()
를 통해 형변환 후 사용할 수 있습니다. 따라서 복수의 값을 제대로 처리하려면 다음과 같은 형식으로 코딩해야 합니다:
N, M = map(int, input().split())
result = 0
for i in range(N, M + 1):
result += i
print(result)
이 코드에서는 1 3
과 같이 두 숫자를 공백으로 구분된 상태로 입력하면 N
과 M
에 각각 1
, 3
이 할당되어 각자 정수로 변환됩니다. PyCharm에서는 기본적으로 단일 입력에만 대응하는 input()
을 사용할 경우, 문제에 적으셨던 것처럼 공백을 기준으로 나누지 않으면 처음 입력된 값만 읽습니다.
따라서 PyCharm에서 다수의 값을 정확하게 입력하기 위해서는 위와 같이 split()
과 map()
을 활용한 입력 처리가 필요합니다.
Sublime Text에서도 동일한 방식으로 동작하지만, 각 편집기 간의 설정 차이가 있을 수 있으니, 입력 테스트 시에 이를 유념하시기 바랍니다.
혹시 다른 강의에서도 코드를 적용하시면서 비슷한 문제를 만나셨다면 입력 처리 방식을 확인해 보시는 것이 좋겠습니다.
이미지 설명을 참고하시기가 힘드신 경우, 위의 코드를 실제로 실행해보시면 도움이 될 것입니다:
이미지 URL
더 궁금한 점이 있으면 언제든지 질문해 주세요!
아하.. 진짜 고민 많이했는데 감사합니다!!
수학적 개념이 많이 없어서 그런지 강의 듣는데 시간이 괸장히 걸리네요 ㅠㅠ