본문 바로가기

파이썬18

파이썬 | 정수와 문자열 함께 출력하기 백준알고리즘을 단계별로 하나하나 풀어가던 도중, print()를 이용한 출력부분에서 막혀버렸다. 하나의 정수를 입력받아서 구구단으로 출력하는 문제였는데, 아무리 군대갔다왔다해도 이정도는 기억이 났다. 하지만, 제일 중요한 출력이 제대로 나오지 않았다. 내가 제일 처음 썼던 코드이다. num = input() num = int(num) for i in range(1,10): print(num + '*' + i + '=' + num*i) 이렇게 그냥 +를 해주면 알아서 출력을 해 줄줄 알았지만, TypeError: unsupported operand type(s) for +: 'int' and 'str' 위처럼 이런 오류가 나온다. 해석해보면 int와 str 사이에는 +를 지원하지 않는다는 소리이다. 분명히.. 2020. 3. 15.
파이썬 | input으로 입력 받을 때 캐스팅 해주기 1 2 3 4 5 6 7 a,b = input().split() print(a + b) ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 10 20 1020 Process finished with exit code 0 cs 숫자 두 개를 입력받고 그 수를 더해서 출력을 하고 싶은데, input을 써서 받고 그냥 더해버리면 위의 코드처럼 10 + 20이 1020이 되어버린다 기적의 계산법 왜 그러냐면 input은 입력받고 string의 형태로 저장한다. 그래서 더하기를 시켜주면 문자열 + 문자열의 형태로 출력이된다. 따라서 우리는 적절하게 캐스팅을 시켜줘야한다. 1 2 3 4 5 6 7 8 9 a,b = input().split() a = int(a) b = int(b) print(a + b) ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ .. 2020. 3. 14.
파이썬 | input()으로 입력 값 여러개 동시에 받기 문제를 풀다보면, 문제의 입력값이 두개, 세개로 여러개를 동시에 입력 받을 때가 있다. 그럴 때, 그냥 줄바꿈으로 받는 형태면 아래와 같이 그냥 input()을 몇개든 적으면 된다. 1 2 3 4 5 6 7 8 a, b = input(), input() print(a,b) 10 20 10 20 Process finished with exit code 0 cs 하지만 이제 몇몇의 문제들은 입력값이 줄바꿈 기준이아니라, 띄어쓰기 기준, 콤마(,) 기준으로 받을 때도 있다. 분명 군대가기 전에 배웠을텐데, 생각이 1도 나지 않는다. 방법은 간단했다. 1 2 3 4 5 6 a, b = input().split() print(a,b) 10 20 10 20 Process finished with exit code .. 2020. 3. 14.