대학교 수업/Python

4.1 새내기파이썬 4단원 - 중간점검

kicdor 2024. 4. 29. 16:02
반응형

1) 프로그램에 사용되는 3가지의 제어구조는?

: 순차구조, 선택구조, 반복구조

(선택구조 : 둘 중 하나의 명령어 선택해서 실행)

(순서도 : 위 구조들을 그림으로 나타낸 것)

(4장은 선택구조위주)

 

 

2) 제어문은 __________으로 나누어진다.

: 조건문, 반복문

 

 

+) if-else

- if 조건식:

    문장1

else 조건식:

    문장2

형식으로 사용.

- 조건식은 일반적으로 수식.

- If의 수식이 True if 아래의 문장1 실행. False else 아래의 문장2 실행

(“:”의 의미 : 아직 전체 문장을 끝내지 않았으니 잠시 해석을 미뤄달라 라는 의미)

- else 부분이 필요 없으면 생략 가능

- if-else문에 중복된 문장이 있다면 밖으로 꺼내는 것이 좋다.

- 골격을 만든 후, 세부사항을 나중에 채워가고 싶다면 “pass”를 사용할 수 있다

if 조건문 :

pass

else 조건문:

pass

 

 

3) 하나로 묶여진 여러 개의 문장을 무엇이라고 하는가?

: 블록

(조건이 True일 때, 여러 개의 문장이 실행되어야 함 -> 블록으로 작성)

(주의! : 조건문에서 블록 사용할 때, 블록 안의 모든 문장은 4칸 띄어쓰기 후 작성해야함. 5칸이나 3칸이면 오류)

 

 

4) 파이썬에서 참과 거짓은 무엇으로 표현되는가?

: True    False  (?)

 

5) 조건에 따라서 실행되어야 하는 문장이 두개 이상이면 어떻게 해야하는가?

: 들여쓰기를 이용하여 문장들을 묶을 수 있다. (블록)

 

 

6) 연산식을 작성하시오.

나이는 25살 이상, 연봉은 3500만 원 이상

: age >= 25 and salary >= 35000000

 

+) 논리 연산자(and, or, not)는 관계 연산자(>,<,==)보다 우선 순위가 낮다 . 

(관계연산자가 먼저 실행된 후, 논리연산자가 실행된다.)

(그래서 괄호를 사용하지 않고 논리연산자/관계연산자 같이 사용 가능)

 

 

7) 수식 not True의 값은?

: False

 

 

+) 가독성

: 논리식에서 변수를 True/False와 비교하면 가독성 떨어짐

논리연산자 not을 사용 해야함

(if full == False: (x),   if not full: (o))

 

+) “x 0 100 사이에 있다

“0 <= x <= 100” 도 가능하고

“x >= 0 and x <= 100” 도 가능하다.

하지만 대부분의 언어는 밑에만 가능. 따라서 and, or을 사용하여 작성하는 것을 연습

 

 

8) 변수 age21세 미만이면 “minor”를 반환하고, 그렇지 않으면 “adult”를 반환하는 명령문을 작성하라 (조건 연산자)

: age = int(input("age : "))

print("minor") if age<21 else print("adult")                    (이것도 조건 연산자?)

 

Or (조건연산자 없이)

age = int(input("age : "))

 

if age<21 :

    print("minor")

else :

print("adult")

 

+)중첩 if

If 조건식 1:

If 조건식2:

    문장

Else :

    문장2

Else :

If 조건식3:

    문장3

Else:

    문장4

-   조건식1이 참이면 밑에 if문 실행.  조건식1이 거짓이면 else if문 실행

 

+) 연속 if  (if, elif, else)

- 다중으로 분기되는 결정을 내려야 하는 경우 사용. (예시 : 학점)

- 연속 if문에서는 제일 특수한 경우를 먼저 작성하여야 한다. (첫번째가 아닐 시 2번째로 넘어가기 때문)

- 오류 예시:
score = 90

 

if score >= 60:

    print("D")

elif score >= 70:

    print("C")

elif score >= 80:

    print("B")

elif score >= 90:

    print("A")

else:

print("F")

>> 결과 : D (90점이어도 D가 나옴. 첫번째 조건문에서 True가 나왔기 때문에 첫번째에서 끝나기 때문)

 

예시2) elif대신 if를 사용

 score = 90

 

if score >= 90:

    print("A")

if score >= 80:

    print("B")

if score >= 70:

    print("C")

if score >= 60:

    print("D")

if score < 60:

print("F")

>> 결과 : A B C D ( if문을 모두 들리기 때문.)

(첫번째 if문이 True A출력, 두번째 if문이 True B출력, 세번째 if문이 True C출력, 네번째 if문이 True D출력, 다섯번째 if문이 False F출력 안 함)

 

반응형