* 새롭게 배운 내용만 적었습니다. 교재는 '혼자 공부하는 파이썬
A. If 조건문
끝자리로 짝수와 홀수 구분
number = input("정수 입력> ")
last_character = number[-1]
last_number = int(last_character)
if last_number == 0 \
or last_number == 2 \
or last_number == 4 \
or last_number == 6 \
or last_number == 8:
print("짝수입니다")
if last_number == 1 \
or last_number == 3 \
or last_number == 5 \
or last_number == 7 \
or last_number == 9:
print("홀수입니다")
If문에서 코드가 너무 길면, \를 쓰고 다음 줄에 쓰면 된다!
위 코드를 더 단축시키면
num = int(input("정수를 입력해주세요: "))
if not(num % 2):
print("{}은 2로 나누어 떨어지는 숫자입니다.".format(num))
else:
print("{}은 2로 나누어 떨어지는 숫자가 아닙니다.".format(num))
Fals로 전환되는 값은 None, 숫자 0과 0.0, 빈 컨테이너(빈 문자열, 빈 바이트열, 빈 리스트, 빈 튜플, 빈 딕셔너리 등)이다.
이 외에는 모두 True로 변환된다!
pass 키워드
아직 구현이 안된 종속문 대신 사용해준다.
B. 리스트
리스트
- 대괄호[ ] 내부에 여러 종류의 자료를 넣어 선언한다.
array = [123, 45, "문자열", True]
- 내부에 들어가는 자료를 요소·원소(element)라고 한다.
- 접근 연산자를 이중으로 사용할 수 있다.
list_a = [123, 45, "문자열", True, False]
print(list_a[3]) #True
print(list_a[2][0])#문
요소 추가 (단일)
append() : 리스트 뒤에 요소 추가
insert() : 리스트 중간에 요소 추가
list_a = [1, 2, 3]
print("#리스트 뒤에 요소 추가하기")
list_a.append(4)
list_a.append(5)
print(list_a) #[1, 2, 3, 4, 5]
print()
print("#리스트 중간에 요소 추가하기")
list_a.insert(0, 10)
print(list_a) #[10, 1, 2, 3, 4, 5]
요소 추가 (복수)
extend(): 리스트 뒤에 새로운 리스트 요소 모두 추가 (파괴적 처리)
list_a = [1, 2, 3]
list_b = [4, 5, 6]
print(list_a + list_b) #[1, 2, 3, 4, 5, 6]
print(list_a) #[1, 2, 3]
list_a.extend(list_b)
print(list_a) #[1, 2, 3, 4, 5, 6]
요소 삭제
- 인덱스로 제거: del, pop()
- 값으로 제거: remove()
- 모두 제거: clear()
list_a = [0, 1, 2, 3, 4, 5]
print("#리스트의 요소 하나 제거하기")
# 인덱스로 제거
del list_a[1]
print(list_a) # [0, 2, 3, 4, 5]
list_a.pop(2)
print(list_a) # [0, 2, 4, 5]
# 값으로 제거
list_b = [1, 2, 1, 2]
list_b.remove(2)
print(list_b) # [1, 1, 2]
#모두 제거
list_c = [0, 1, 2, 3, 4, 5]
list_c.clear()
print(list_c) # [ ]
sort(): 리스트 정렬하기
- 기본 오름차순 정렬
- 내림차순 정렬 sort(reverse=True)
list_a = [24, 593, 5,103, 60, 920]
list_a.sort()
print(list_a) # [5, 24, 60, 103, 593, 920]
list_a.sort(reverse=True)
print(list_a) # [920, 593, 103, 60, 24, 5]
의문점) 파괴적 함수는 print() 안에서 출력되지 않는데?
list_b = [1, 2, 1, 2] print(list_c.remove(2)) #None
중첩된 함수는 내부에서부터 외부로 풀어나간다.
list_c.remove(2)는 list를 지우고 난 결과가 아니라 '지웠음' 그 자체이기 때문에, 반환값이 None이다.
일반적으로 None은 '성공했다'는 의미다.
'Python' 카테고리의 다른 글
Day6. 객체지향 프로그래밍 (0) | 2024.01.16 |
---|---|
Day5. 함수 (1) | 2024.01.08 |
Day4. 딕셔너리와 반복문 (1) | 2024.01.05 |
Day2. 변수와 함수, 연산자 (1) | 2024.01.03 |
Day1. 자료형 (1) | 2024.01.02 |