오늘은 두번째 교육을 통해 배운 내용가 스스로 학습한 내용에 대해 적어볼 것이다 ! 포스팅이 연달아 올라가고 있는데, 이미 약간의 교육을 들은 후에 포스팅을 해야겠다는 생각에 다소 밀린 경향이 있다. 하지만 앞으로는 그때그때 들은 수업과 학습한 내용에 대해 올릴 예정이다 🤓
참(True) 혹은 거짓(False)을 나타내는 자료형을 논리 자료형(True)이라고 한다.
논리 자료형을 통해 다양한 활용을 할 수 있는데, 그 중 가장 대표적인 것이 비교 연산자이다.
비교 연산자란, 숫자나 문자의 값을 비교하는 연산자로 주어진 진술이 참이면 True, 거짓이면 False를 나타낸다.
print(3 < 5) #True
print(7 == 5) #False
print(2 >= 10) #False
print(5 != 10) #True
같다 (==), 다르다 (!=)
왼쪽이 더 크다 (>), 오른쪽이 더 크다 (<)
왼쪽이 같거나 크다 (>=), 오른쪽이 같거나 크다 (<=)
주의!! "="의 표시는 '같다'를 의미하는 것이 아닌, '대입하다'를 의미한다.
앞서 배운 내용을 토대로 하면 숫자형과 문자형을 다룰 때, 그들에 대한 각각의 연산이 있었다. 그렇다면 논리 자료형의 연산은 없을까? 답은 있다!
하지만, 기존 연산과는 다르게 논리 자료형에는 True와 False 밖에 없기 때문에 새로운 연산이 필요하다. 그럼 그게 뭔데!
각 논리가 모두 True일 경우 진실!!
print(3==3 and 4<=5> and 6>2)
# 세 항이 모두 True이므로, True!
>>> True
논리 가운데 True가 존재하면 True~!
print(3==4 or 4<=5 or 6<2)
# 4<=5가 True이므로, True가 존재하기에 True!
>>> True
NOT 연산은 기존 연산의 논리값을 뒤집는다!
print(not 3==4)
# False에 Not을 붙였으므로, True가 된다.
'만약에 ~~~한다면', 우리는 살면서 많은 조건을 만나게 되는데 그때마다 어떤 선택을 하는걸까? 예를 들어, 짜장면을 먹을지, 짬뽕을 먹을지 고민되는 상황에서 어떤 조건을 설정한다면? 동전을 던져서 앞면이 나오면 짜장면, 뒷면이 나오면 짬뽕과 같이 동전의 면이라는 조건에 따라 선택을 할 수 있다.
어떠한 특정 조건에 따라서 실행되는 명령이 달라지는 구문이다!
만약(if) i == 1(조건)이면, i를 출력하라(명령)!
이 if문은 어떠한 조건이 참(True)일 때, 명령을 실행하게 된다.
if string[0] == "a":
count = count + 1
print(string)
# string이라는 문자의 0번째 글자가 'a'와 같을 때, 명령(count 값에 +1)을 실행해라! 그 후 string을 출력해라.
주의 !! 조건을 입력한 뒤에 반드시 :(콜론)을 써주어야 한다. 약속이닷 🤪
근데, 만약에 if문을 만족하지 못하면 어떻게 되는데? else가 있어!
조건이 True이면 if문, False라면 else문을 실행한다. (예시로 살펴보자.)
x = input()
if x in ['a', 'e', 'i', 'o', 'u']:
print("모음입니다.")
else:
print("자음입니다.")
# 만약에 입력한 x값이 리스트 안 원소에 속하면 "모음입니다."를 출력하고, 그렇지 않으면 "자음입니다."를 출력한다.
# input()을 이용해서 숫자(정수)를 입력받고, 변수 num에 이를 넣기
num = int(input())
# if-else문을 이용해서 만약 입력받은 수가 홀수라면 "(입력받은 수) 홀수 입니다.", 짝수라면 "(입력받은 수) 짝수입니다."를 출력
if num % 2 == 0:
print(num, "짝수입니다.")
else:
print(num, "홀수입니다.")
# '%'는 나머지 값을 구해준다.
if문에서 조건을 만족하지 못했을 때, 또 다른 조건에 대해 명령을 수행하게 만들 수 있다. 예를들어, 만약 점수가 90이상이라면 A를 출력해라 아닌 경우에 75이상이라면 B를 출력해라 !
else if -> elif
다시말해, 조건 1이 True면 if문, 조건 1이 False이면서 조건 2가 True면 elif문을 실행한다.
x = input()
if x % 2 == 0:
print("2의 배수입니다.")
elif x % 3 == 0:
print("3의 배수입니다.")
이 예시를 보면, x의 값을 받아서 2로 나눈 나머지가 0일 경우에는 "2의 배수입니다."를 출력하고, 3으로 나눈 나머지가 0일 경우에는 "3의 배수입니다."를 출력한다.
조건 1 True
-> A 실행
조건 1 False and 조건 2 True
-> B 실행
조건 1 False and 조건 2 False and 조건 3 True
-> C 실행
...
모든 조건이 False
-> X 실행
# 변수 answer에 수 1~50 중 하나를 설정
answer = 25
# input()을 통해 숫자형으로 입력받아서 변수 submitdp 저장
submit = int(input())
# if-elif-else 문으로 Up-Down Game을 구현
if answer < submit:
print("정답보다 더 큰 수를 입력했습니다.")
elif answer > submit:
print("정답보다 더 작은 수를 입력했습니다.")
else:
print("정답!")
이 게임은 특정 값(25)을 설정해두고, 입력받은 값과 비교하여 특정 값을 맞추는 게임이다.
설정한 값이 입력받은 값보다 작을 경우, "정답보다 더 큰 수를 입력했습니다."가 출력되고, 입력받은 값보다 클 경우, "정답보다 더 작은 수를 입력했습니다."를 출력하게 된다. 만약, 설정한 값과 입력받은 값이 같을 경우, "정답!"을 출력한다.
여기까지, 오늘은 if문에 대해 배우는 시간을 가졌다. 예제로 푼 문제나 실습해본 문제는 모두 기초적인 내용이지만, if문은 굉장히 다양한 활용성을 가진 것으로 알고 있다. 나중에 if문을 활용해 문제를 해결해야 할 때가 오면, 로직을 잘 파악해서 해결할 수 있도록 더 심화적인 부분도 공부해보아야 될 것 같다 !