※ AND, OR, NOT
다른 언어에서 &&, ||, ! 처럼 사용하는 것에 비해 파이썬에서는 다음과 같이 사용한다.
and, or, not
이를 이용한 if문을 다음과 같이 만들 수 있다.
money = 10000
card = True
if money >= 15000 or card:
print("restauraunt") # <= 이거 출력
else:
print("CU")
※ pass
조건문에서 아무일도 일어나지 않게 설정하고 싶을 때 사용하는 키워드
a = [1, 2, 3]
if 1 in a:
pass
else:
print("not here")
※ 리스트, 튜플, 문자열과 관련된 in 조건문
다른 언어와 달리 파이썬이 갖는 특이한 조건문으로 in과 not in을 이용하는 조건문이 있다.
str = "Python is nice"
if "is" in str:
print("It's here") # <= 이거 출력
else:
print("not here")
a = [1, 2, 3]
if 1 in a:
print("It's here") # <= 이거 출력
else:
print("not here")
※ 조건부 표현식
마치 3항연산자처럼 다음과 같은 형식을 갖고 있다.
조건이 참일 때 if 조건문 else 조건이 거짓일 때
a = [1, 2, 3]
print("It's here") if 1 in a else print("not here")
※ while문을 이용한 조건문
prompt = """
1. Add 2. Del 3. List 4. Quit
Enter num: """
num = 0
while num != 4:
print(prompt)
num = int(input())
※ for문을 이용한 조건문
§ for문의 기본구조
for i in 리스트, 튜플, 문자열:
수행문장
Ex-1)
a = ['one', 'two', 'three']
for i in a:
print(i)
#---출력---#
one
two
three
Ex-2)
a = [(1,2), (3,4), (5,6)]
for (first, last) in a:
print(first + last)
#---출력---#
3
7
11
이는 튜플을 사용한 변수대입 방법과 매우 비슷하다.
(first, last) = (1,2)
Ex-3)
marks = [90, 25, 67, 45, 80]
number = 0
for mark in marks:
number = number +1
if mark >= 60:
print("%d번 학생은 합격입니다." % number)
else:
print("%d번 학생은 불합격입니다." % number)
#--------출력--------#
1번 학생은 합격입니다.
2번 학생은 불합격입니다.
3번 학생은 합격입니다.
4번 학생은 불합격입니다.
5번 학생은 합격입니다.
※ for문과 함께 자주 사용하는 range 함수
§ range(시작 숫자, 끝 숫자)
이때, 끝 숫자는 포함되지 않는다.
Ex-1)
add = 0
for i in range(1, 11):
add = add + i
print(add) # 55출력
Ex-2)
marks = [90, 25, 67, 45, 80]
number = 0
for mark in marks:
number = number +1
if mark < 60:
continue
print("%d번 학생 축하합니다. 합격입니다. " % number)
#--------출력--------#
1번 학생 축하합니다. 합격입니다.
3번 학생 축하합니다. 합격입니다.
5번 학생 축하합니다. 합격입니다.
marks = [90, 25, 67, 45, 80]
for number in range(len(marks)):
if marks[number] < 60:
continue
print("%d번 학생 축하합니다. 합격입니다." % (number+1))
#--------출력--------#
1번 학생 축하합니다. 합격입니다.
3번 학생 축하합니다. 합격입니다.
5번 학생 축하합니다. 합격입니다.
Ex-3)
end=" "은 print가 출력할 때 개행처리를 하지 않고 계속 처리하게 한다.
for i in range(2,10): # 1번 for문
for j in range(1, 10): # 2번 for문
print(i*j, end=" ")
print() # 단이 종료되면 결과값을 다음줄에 출력하게 함
#--------출력--------#
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
※ 리스트 안에 for문 포함 (리스트 내포)
a = [1,2,3,4]
result = []
for num in a:
result.append(num*3)
print(result)
#--------출력--------#
[3, 6, 9, 12]
이 코드를 다음과 같이 표현할 수 있다.
a = [1,2,3,4]
result = [num * 3 for num in a]
print(result)
#--------출력--------#
[3, 6, 9, 12]
만약 짝수 숫자에만 3을 곱하고 싶다면?
리스트 내포 안에 if조건문을 사용!
a = [1,2,3,4]
result = [num * 3 for num in a if num % 2== 0]
print(result)
#--------출력--------#
[6, 12]
이는 다음과 같이도 사용할 수 있다.
result = [x * y for x in range(2,10)
for y in range(1,10)]
print(result)
#--------출력--------#
[2, 4, 6, 8, 10, 12, 14, 16, 18, 3, 6, 9, 12, 15, 18, 21, 24, 27, 4, 8, 12, 16, 20, 24, 28, 32, 36, 5, 10, 15, 20, 25, 30, 35, 40, 45, 6, 12, 18, 24, 30, 36, 42, 48, 54, 7, 14, 21, 28, 35, 42, 49, 56, 63, 8, 16, 24, 32, 40, 48, 56, 64, 72, 9, 18, 27, 36, 45, 54, 63, 72, 81]
'A.I > Python' 카테고리의 다른 글
self.python(6). 모듈,패키지와 라이브러리, 내장함수 (2) | 2022.11.18 |
---|---|
self.python(5). 함수와 클래스 (0) | 2022.11.18 |
self.python(3). 딕셔너리와 집합 자료형 (0) | 2022.11.18 |
self.python(2). 리스트와 튜플 자료형 (0) | 2022.11.18 |
self.python(1).python 입력, 문법과 문자열 자료형 (4) | 2022.11.17 |