파이썬 초보자 질문1

조회수 694회
def multi():
  i = 1
  x = input()
  while i <= 9:
    print(x, ' * ', i, ' = ', x*i)
    i = i + 1

multi()

한창 함수 개념을 배우는 중인데요, 인스턴스 부분에 뜬금없는 값이 나와서 질문드립니다. 저 코드를 실행했더니...

4  *  1  =  4
4  *  2  =  44
4  *  3  =  444
4  *  4  =  4444
4  *  5  =  44444
4  *  6  =  444444
4  *  7  =  4444444
4  *  8  =  44444444
4  *  9  =  444444444  

결과물이 이렇게 나오네요... 사실 원했던건

4  *  1  =  4
4  *  2  =  8
4  *  3  =  12
...
```이런거였는데 말이죠
어디서 잘못된걸까요?
  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 상식선에서 생각하면 됩니다.

    'a' * 3 = 'aaa' 가 됩니다. ' 나 " 는 문자라는 것을 지칭하는 겁니다.

    4 * 3 = 12 가 되지만 '4' * 3 = '444' 가 된다는 겁니다.

    숫자와 문자는 다른것이라는 것을 이해하는게 중요합니다.

    그럼 해결방법은? 명시적으로 숫자로 변환을 해주면 됩니다.

    아래의 예를 보고 참고하시기 바랍니다.

    print('3' * 4)
    print(int('3') * 4)
    
    '3333'
    12
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)