파이썬 공부 일기장

·2023년 6월 3일
0

Python

목록 보기
1/11

1. 두 숫자의 합 구하기

a= input('첫 번째 숫자를 입력하세요: ')
b= input('두 번째 숫자를 입력하세요: ')

print(a+b)
첫 번째 숫자를 입력하세요: 20
두 번째 숫자를 입력하세요: 30
2030

원하는 결과 값은 50이 나와야 하지만 input 뒤의 값들은 문자열 형태로 나오기 때문에 2030의 값이 나온다.
그러면 어떻게 해야할까?

a= int(input('첫 번째 숫자를 입력하세요: '))
b= int(input('두 번째 숫자를 입력하세요: '))

print(a+b)
첫 번째 숫자를 입력하세요: 20
두 번째 숫자를 입력하세요: 30

50

입력에서 받은 값을 숫자형으로 나타내 줘야하기 때문에 int 정수형을 선언해서 더하기 연산을 진행 > 만약 실수형을 계산해야한다면 float을 선언해 주면 된다.

  1. 입력값을 두 개의 변수에 값을 저장하기

a, b = input('문자열 두 개를 입력하세요').split()
print(a)
print(b)

문자열 두 개를 입력하세요 t b
t
b

여기서 실습을 해보며 입력값에 주의해야 한다는 것을 깨달았다. 여기서는 t b를 입력해 줬을 때 값이 정상적으로 나왔지만 tb를 입력하면 오류가 생기는점 t, b를 입력하면 a의 값에 t, b의 값에 b가 들어가는 점. split으로 공백을 기준으로 나누어 줬기 때문에 값을 입력할 때도 공백을 기준으로 생각해야 한다.

2-1. 입력값 두 개의 연산

a, b= input('값 두 개를 입력해주세요: ').split()
print(a+b)
값 두 개를 입력해주세요: 10 20
1020

1번과 마찬가지로 input은 문자열로 나오기 때문에 10 20을 입력해줘도 숫자가 아닌 문자열 '10'과 '20'으로 출력이 되기 때문에 1020의 값이 나오는 것을 확인 할 수 있다. 그러면 위의 방법과 마찬가지로

a, b = input('값 두 개를 입력해주세요: ').split()
a = int(a)
b = int(b)
print(a+b)
값 두 개를 입력해주세요: 10 20
30

int로 a와 b에 숫자형으로 변환된 값을 할당해 준 이후 연산을 해주면 된다.
다른 방법으로는 아래 처럼 해도 정상적으로 기능한다.

a, b = input('값 두 개를 입력해주세요: ').split()
print(int(a)+ int(b))

2. sep으로 print 값 사이에 공백 넣기

print('Hello', 'Python', sep='')
HelloPython

print('Hello', 'Python', sep=' ')
Hello Python

print(1920, 1080, sep='x')
1920x1080

위의 sep 사용예시를 보면 첫번째 HelloPython의 경우 sep='' 빈문자열을 지정해 주어 HelloPython으로 붙어서 출력되는 것을 볼 수 있다.

두 번째 사용 예시를 보면 sep = ' ' 공백을 한번 사용함으로 Hello Python 한칸 공백이 생긴 것을 확인할 수 있다.

세 번째 사용 예시를 보면 공백과 빈 문자열 뿐이 아닌 그냥 문자열도 사용이 가능한 것을 확인할 수있다.

2.1 sep으로 한줄 마다 출력하기

print(1, 2, 3, sep='\n')

1
2
3


print('1\n2\n3')
1
2
3

위의 값과 같이 \n을 sep에 넣어 출력해주면 개행이 되는 것을 알 수있다. 여기서 \n이 출력되지 않는 이유는 제어 문자이기 때문에 화면에 출력되지 않는다.

그러면 위처럼 개행된 값을 다시 한줄로 만드는 명령은 뭘까?

print(1, end=' ')
print(2, end=' ')
print(3, end=' ')

1 2 3

바로 end를 사용하는 것이다 print함수에는 끝에 항상 \n이 생략되어 있다 생각하면 되는데 end를 이용하여 \n을 공백 한칸으로 대체를 해주는 것이다.

profile
잘하자

0개의 댓글