파이썬 300제[No.101 - 110] - 분기문 1
파이썬 뿐만 아니라 어떤 프로그래밍 언어에도 존재하는 IF문을 활용한 분기문 문제풀기
No.101 bool 타입
문제) 파이썬에서 True 혹은 False를 갖는 데이터 타입은 무엇인가?
입력) True 또는 False를 갖는 타입은 bool 또는 boolen이라고 불리는 타입이 있다.
print(type(True), type(False), sep="\n")
출력)
<class 'bool'>
<class 'bool'>
No.102 비교 값1
문제) 아래 코드의 출력 결과를 예상하라
print(3 == 5)
입력) == 는 같은지 여부를 체크하는 구문이다. 3과 5는 같은 값인지 질의하는 것이며, 3과 5는 같지 않으므로 False가 반환된다.
print(3 == 5)
출력)
False
No.103 비교 값2
문제) 아래 코드의 출력 결과를 예상하라
print(3 < 5)
입력) 3보다 5가 크다는 구문이므로 True가 반환된다.
print(3 < 5)
출력)
True
No.104 비교값3
문제) 아래 코드의 결과를 예상하라.
x = 4
print(1 < x < 5)
입력) 비교 구문을 다수로 작성이 가능하며, 위의 문제에서는 4가 1보다 크고 5보다 작은지 판단하는 구문으로
올바른 값이므로 True가 반환된다.
x = 4
print(1 < x < 5)
출력)
True
No.105 비교 값4
문제) 아래 코드의 결과를 예상하라.
print ((3 == 3) and (4 != 3))
입력) ==는 서로 같은지 묻는 구문이고 !=는 서로 같지 않은지 묻는 구문이다. and 는 양쪽 값이 전부 참일 경우에 True를 반환하고, 한쪽이라도 거짓일 경우 False를 반환한다. 위의 경우 양쪽 비교구문이 전부 참이므로 True를 반환한다.
print ((3 == 3) and (4 != 3))
출력)
True
No.106 비교 값5
문제) 아래 코드에서 에러가 발생하는 원인에 대해 설명하라.
print(3= > 4)
입력) print(3= > 4) 의 =>는 올바른 구문이 아니다. 3이 4 이상인지를 뭍는 구문인데 비교값이 잘못된 것이 아니라 부등호가 잘못되었다. =>가 아니라 >=로 표현해야 올바른 비교구문자이다.
print(3 => 4) # 잘못된 비교구문
print(3 >= 4) # 올바른 비교구문
출력)
# 옳지 않은 구문으로 인한 에러
print(3= > 4)
^
SyntaxError: invalid syntax
# 올바른 구문으로 할 경우
False
No.107 if문
문제) 아래 코드의 출력 결과를 예상하라
if 4 < 3:
print("Hello World")
입력) if문은 조건판단문으로 오른쪽의 조건 값이 참일 경우 : 의 다음 라인에 오는 코드를 실행시킨다.
해당 문제코드는 3이 4보다 큰 값인지 비교하는 것인데 거짓이므로 아래 코드는 실행되지 않고 return 값도 없기 때문에 아무 값도 출력하지 않는다.
if 4 < 3: # 거짓이므로 아래 print문은 출력하지 않는다.
print("Hello World")
if 4 > 3: # 참이므로 아래 print문을 실행 시킨다.
print("Hello World")
출력)
첫번째 코드의 결과는 아무값도 출력되지 않음
======================
Hello World # 두번째 코드는 참이므로 값이 코드가 실행되고 출력됨
No.108 if ~ else 문1
문제) 아래 코드의 출력 결과를 예상하라
if 4 < 3:
print("Hello World.")
else:
print("Hi, there.")
입력) if~else 문은 if의 조건식이 False 일 경우 출력되는 조건문이다. 편안한 말로 풀어쓰면 if가 참이면 2번라인코드를 실행시키고, 그렇지 않은 모든 경우는 else 4번라인 코드를 실행시켜라 라고 풀이될 수 있다.
그러므로 현재 문제는 if문이 False 이므로 else 구문이 실행되어 Hi, there가 출력된다.
if 4 < 3: # 거짓이므로 2번라인 코드는 pass 된다.
print("Hello World.")
else: # if가 거짓이므로 else의 4번라인 코드가 출력된다.
print("Hi, there.")
출력)
Hi, there.
No.109 if~else 문2
문제) 아래 코드의 출력 결과를 예상하라
if True :
print ("1")
print ("2")
else :
print("3")
print("4")
입력) if문의 조건값 자체가 True이므로 아래 코드들이 실행되므로 1과 2가 출력되고 if문은 탈출하게 되고 가장 마지막 라인의 print(4)가 함께 출력되므로 1, 2, 4가 출력된다.
if True:
print("1")
print("2")
else:
print("3")
print("4")
출력)
1
2
4
No.110 if~else 문3
문제) 아래 코드의 출력 결과를 예상하라
if True:
if False:
print("1")
print("2")
else:
print("3")
else:
print("4")
print("5")
입력) 첫번째 if문이 True이므로 다음 라인 if문이 실행된다. 2번라인 if문은 False 이므로 pass되고 5라인 else문 아래 코드가 실행되어 3이 출력되고 탈출한다. 마지막 라인의 print구문이 실행되어 5가 출력되므로 3과 5가 출력된다.
if True: # True 이므로 다음 라인의 if 문 실행
if False: # False이므로 다음 라인 코드들은 실행되지 않음
print("1")
print("2")
else: # 해당 코드가 실행되어 3이 출력됨
print("3")
else: # 최상단 if문이 실행되었으므로 해당 else는 실행되지 않음
print("4")
print("5") # if문 밖의 구문이므로 5가 출력됨
출력)
3
5
'#개인연구 및 공부# > [python]' 카테고리의 다른 글
(2020.11.07)파이썬 300제 문제풀기 [No.111 - 120] - 분기문 2 (0) | 2020.11.07 |
---|---|
(2020.11.05)파이썬 300제 문제풀기 [No.091 - 100] - 딕셔너리2 (0) | 2020.11.05 |
(2020.11.04)파이썬 300제 문제풀기 [No.081 - 090] - 딕셔너리 (0) | 2020.11.04 |
(2020.11.03)파이썬 300제 문제풀기 [No.071 - 080] - 튜플 (0) | 2020.11.03 |
(2020.11.02)파이썬 300제 문제풀기 [No.061 - 070] - 리스트 2 (0) | 2020.11.02 |
댓글