조건문
- 상황에 따라 실행 흐름을 다르게 하는 문법
- 키워드 : if elif else
# 콜론 ":" 과 들여쓰기 "Tab, space bar*4" 가 매우 중요 if 조건식: 코드블럭 코드블럭 elif 조건식: 코드블럭 코드블럭 else: 코드블럭
조건문의 기본 문법은 이렇습니다
앞서 배운 자바랑은 약간 다릅니다
자바에서 조건문은 if(조건식) { } 중괄호 안에 실행시킬 문장이 들어가갔지만
파이썬에서는 괄호가 아닌 들여쓰기로 구분해줍니다
그래서 반드시 탭키로 들여쓰기 해줘야합니다!!
괄호가 안들어가서 훨씬 코드가 간결해보이네요
예제도 보겠습니다
money = int(input("갖고 있는 돈을 입력하세요>> "))
print(str(money)+"원")
if money >= 10000:
print("택시")
elif money >= 5000:
print("버스")
else:
print("뚜벅")
먼저 input이라는 키워드가 보이는데 자바로 비유하면 Scanner로 입력받는다고 생각하면됩니다
하지만 input()으로 입력받으면 저장되는 자료형이 str 이기 때문에 앞에 int를 붙여서 형변환 해주는겁니다
자료형을 확인하는 방법은 type()함수를 사용하면됩니다
a = input()
print(type(a))
이렇게 실행해서 5를 입력하면
5
<class 'str'>
str 타입으로 나오는걸 알수있습니다
입력은 int형으로 받고 반대로 출력은 str로 하려면
다시 str()을 작성하면 원래대로 돌아갑니다!
if 문 다음 print문 들을 보면 들여쓰기가 된걸 볼수 있습니다
꼭 들여쓰기 해줘야 에러가 안납니다!
if 문 안에 if문도 쓸수 있을까요?
이번에는 점수를 입력받아서 학점을 알려주는 코드를 실행해보겠습니다
score = int(input("점수 입력 >> "))
if score >= 0 and score <= 100:
if score >= 90:
print(f"{score}점은 A학점 입니다.")
elif score >= 80:
print(f"{score}점은 B학점 입니다.")
elif score >= 70:
print(f"{score}점은 C학점 입니다.")
elif score >= 60:
print(f"{score}점은 D학점 입니다.")
else:
print(f"{score}점은 F학점 입니다.")
else:
print("잘못 입력")
if 문안에 if문이 들어갔습니다 들여쓰기를 잘 해주면 문제 없이 실행이 됩니다!
마지막 else는 처음 if문의 else이기 때문에 들여쓰기를 하면 안됩니다!
if문을 두개 쓴 이유는 0~100점 사이의 값만 채점을 해주려고 썼습니다
따라서 0~100을 넘어가면 else 문이 실행됩니다!
1.리스트(List)
- 파이썬의 자료형 중 하나
- 순서가 있는(인덱스가 존재) 수정 가능한 객체의 집합
- 대괄호 "[ ]"로 작성되어지며, 리스트의 내부의 요소들은 콤마","로 구분
a = []
b = ["My", "name", "is", "DH"]
c = [1, 2, "My", "is"]
d = [1, 2, ["My", "is"]]
리스트는 비어있을수도 있고 숫자가 들어갈수있고 문자열이 들어갈수도 있습니다.
리스트도 앞에서 배운 인덱싱과 슬라이싱이 가능합니다!
만약에 변수 d 에서 My를 가져오려면 어떻게 해야할까요?
d[2]라고 쓰면될까요?
그렇게 실행하면 My와 is 둘다 출력이 됩니다
리스트 안에 리스트가 있기때문에
d[2][0]이라고 쓰면됩니다!
리스트는 배열은 아니지만 자바에서 배운 2차원배열값을 가져올때를 생각하면 될거같습니다!
리스트 요소 추가
- append(값) : 맨 뒤에 요소 추가 (가장 많이 사용하게 될 추가 기능)
- insert(인덱스, 값) : insert(a, b)는 리스트의 a번째 위치에 b를 삽입하는 함수이다.
리스트 수정
- 지정(인덱싱, 슬라이싱)하고 대입!
리스트 요소 삭제
- del 지정 : 해당 요소 삭제
- del 객체 : 내부 요소를 삭제할 때 사용하는 객체
- remove(값):인덱스 순서대로 가장 첫번째 값을 가진 요소 삭제
리스트 정렬 및 길이확인
- sort() : 오름차순 정렬
- sort(reverse=True) 로 하면 내림차순정렬
- len() : 길이확인
리스트에는 다양한 함수가 있습니다 필요할때 마다 잘 선택해서 쓰면 될거같습니다!
다음으로는 리스트와는 약간 다른 튜플에 대해 알아보겠습니다
2. 튜플(tuple)
- 파이썬의 자료형 중 하나
- 순서가 있는(인덱스가 존재) 수정 불가능한 객체의 집합
- 소괄호 "( )"로 작성되어지며, 튜플의 내부의 요소들은 콤마","로 구분
튜플은 리스트와 다르게 수정이 불가능합니다!
그리고 대괄호로 작성됩니다
단 튜플안에 리스트를 넣을수있습니다!
a = ()
b = (1, 2, 3)
c = ("My", "name", "is", "DH")
d = (1, 2, "My", "name")
e = (1, 3, ("is", "DH"))
f = (1, 2, 3, ["a", "b", "c"])
g = (1, 2, 3, [2, 4, 5, 2, 1])
튜플도 리스트처럼 숫자 문자열 모두 넣을수있습니다
f 와 g를 보시면 튜플 안에 리스트가 보입니다
그렇다면 튜플은 수정이 불가능하다고 했는데
튜플 안에 있는 리스트는 수정이 될까요?
위에서 리스트에 값을 추가하는 append()를 이용해서
실험해보겠습니다!
f[3].append("e")
f의 리스트는 인덱스3번이기때문에 3번에 "e"라는 문자를 추가해보겠습니다
f[3][:]
['a', 'b', 'c', 'e']
출력을해보니 잘 나오네요
리스트는 수정이 가능하기 때문에 튜플안에 있는 리스트도 수정이 가능합니다!
튜플은 수정은 안되지만 리스트로 바꿀수는있습니다!
g = list(g)
g
이렇게 하면
[1, 2, 3, [2, 4, 5, 2, 1]]
출력문이 위처럼 바뀝니다!
리스트에서 쓰는 대괄호로 바뀐걸 볼수있습니다
리스트로 바꾸면 값을 수정해서
다시 튜플로 바꿀수도 있습니다!
g = tuple(g)
g
이렇게 하면 원래 값인
(1, 2, 3, [2, 4, 5, 2, 1])
튜플로 출력됩니다!
'Python' 카테고리의 다른 글
파이썬 반복문, 딕셔너리 (1) | 2024.02.12 |
---|---|
파이썬 숫자형, 문자열 (1) | 2024.02.06 |