목차
[day 3]
UNIT.6 변수와 입력 사용하기
변수, del, None, +=, input(), split(), map()
변수 제작
'='를 이용해서 변수에 값을 할당할 수 있다.
ex)
x = 10 y = '뉴진스'
cf) Python 연산자 중 등호는 '=='이다.
변수명
1. 숫자가 앞에 와선 안된다.
2. 예약어(이미 함수, 변수 등으로 지정되어있는) 사용 금지
3. _제외한 특수문자 사용 금지
변수 여러 개를 한 번에 제작
다른 값들을 각각의 변수들에 한 번에 할당
변수1, 변수2, 변수3 = 값1, 값2, 값3
같은 값을 여러 변수에 할당
변수1 = 변수2 = 변수3 = 값1
변수 값 바꾸기
변수1, 변수2 = 변수2, 변수1
ex)
x = 10, y = 20
x, y = y, x
print(x) print(y) -> 20 10
변수 삭제, 빈 변수
변수 삭제하기
'del 변수'를 통해 변수를 삭제할 수 있다.
ex) x = 10
del x
print(x) -> ERROR
빈 변수 제작
변수 = None
ex) x = None
print(x) -> None
산술 연산 후 할당 연산자 사용
ex) 변수 x의 값을 20 증가시킨채로 저장하려 할 때
x = 20
print(x) -> 20
----------
x = x + 20
print(x) -> 40(20에 20이 더해진 값)
x를 두 번 써줘야하니 번거롭다. 이를 해결할 순 없을까?
간단하다. 'x = x + 20'을 'x += 20'으로 축약하면 된다.
이는 -=, *=, /=, //=, %= 도 같은 방식이다.
고정된 값이 아닌 다양한 값을 변수에 할당하려면?
input 함수를 사용
ex) name = input('너의 이름은?')
print('내 이름은' + name)
-> '너의 이름은?'이라 묻는 창이 뜨고 거기에 대답을 입력하면
'내 이름은 (대답)'이 출력된다.
프롬프트(prompt)
input(프롬프트)
사용자에게 입력받는 값의 용도를 알려준다.
VScode에서 input함수를 실행
별도의 작업이 필요하다.
1. 왼쪽 탭에서 Run and Debug 탭을 클릭
2. Python File Debug the currently active Python file을 클릭
3. TERMINAL에서 input값을 입력할 수 있게 된다.
input 함수에 대한 대답은 str로 간주
ex1)
a = input()
print(type(a)) -> a에 정수, 실수를 입력해도 str이 출력된다.
ex2) 숫자 세 개를 입력하면 더해주는 프로그램
a, b, c = input('숫자 1: '), input('숫자 2: '), input('숫자 3: ')
print(int(a) + int(b) + int(c))
-> 숫자 세 개를 하나하나 입력하면 더해준다.
input 한 번에 값 여러개를 입력받으려면?
split 함수
입력값을 공백 기준으로 구분해준다.
ex) print('I have an apple'.split())
-> 'I' 'have' 'an' 'apple'
split을 input과 함께 사용
ex1) a, b = input('문자열 두 개를 입력해라: ').split()
여기서 input에 'New Jeans'를 입력해주면
step1. split이 입력받은 문자열을 'New'와 'Jeans'로 나눈다.
step2. 'New'는 a에, 'Jeans'는 b에 할당된다.
ex2) 숫자 세 개를 한 번에 입력하면 더해주는 프로그램
a, b, c = input('숫자 3개를 입력해').split()
print(int(a) + int(b) + int(c))
-> 숫자 세 개를 띄어 쓰면 split이 a, b, c에 각각 저장하여 더해준다.
각각 int 붙여주는게 귀찮다+ int는 float -> int, str -> int 기능은 있으나 list는 변환 불가능
객체의 type을 한번에 int로 변환하기 위해
list도 int로 변환할 수 있게 -> map 함수를 사용
map(변환해줄 type, input().split())
ex) 숫자 세 개를 한 번에 입력하면 더해주는 프로그램
a, b, c = map(float, input('숫자 3개를 입력해').split())
print(a + b + c)
-> 숫자 세 개를 띄어 쓰면 split이 a, b, c에 각각 저장하고
map은 이를 str에서 float로 변환해 더해준다.
split의 입력값 구분을 다른 문자로 해보고싶다면?
.split(구분자)
여기서 중요한 것은, '구분자'
ex) 숫자 세 개를 한 번에 입력하면 더해주는 프로그램
a, b, c = map(float, input('숫자 3개를 입력해').split('+'))
print(a + b + c)
-> a+b+c를 입력하면 split이 a, b, c에 각각 저장하고
map은 이를 str에서 float로 변환해 더해준다.
UNIT.6의 중심 내용, '숫자 세 개 더하기 프로그램' 변천사
노란색: 전 단계 대비 개선점
step 1
a, b, c = input('숫자 1: '), input('숫자 2: '), input('숫자 3: ')
print(int(a) + int(b) + int(c))
1. 숫자 1, 숫자 2, 숫자 3에 각각 값을 입력
2. 아직 str값이므로 하나하나 int로 변환시켜준 후
3. 더해서 출력
step 2
a, b, c = input('숫자 3개를 입력해').split()
print(int(a) + int(b) + int(c))
1. 숫자 세 개를 띄어쓰며 한 번에 입력
2. 아직 str값이므로 하나하나 int로 변환시켜준 후
3. 더해서 출력
step 3
a, b, c = map(float, input('숫자 3개를 입력해').split())
print(a + b + c)
1. 숫자 세 개를 띄어쓰며 한 번에 입력
2. 아직 str값이므로 map으로 한 번에 int로 변환시켜준 후
3. 더해서 출력
step 4
a, b, c = map(float, input('숫자 3개를 입력해').split(+))
print(a + b + c)
1. 숫자 세 개를 +으로 연결해 입력
2. 아직 str값이므로 map으로 한 번에 int로 변환시켜준 후
3. 더해서 출력
tip) 멀티 커서: Alt를 누른 채로 커서를 클릭하면 그 자리에 커서가 남는다.
'Python > <Python 코딩 도장>' 카테고리의 다른 글
<Python 코딩 도장> day 6~7 (0) | 2025.01.11 |
---|---|
<Python 코딩 도장> day 4 (0) | 2024.12.04 |
<Python 코딩 도장> day 1~2 (0) | 2024.12.03 |