I. 소개
1. 제어 구조에 대한 간략한 소개
제어 구조는 프로그램 실행 흐름을 제어하는 프로그래밍 언어의 명령문입니다. 이는 두 가지 주요 범주로 나뉩니다.
- 조건문 :
if
명령문: 조건에 따라 코드 블록을 실행합니다.elif
설명: 이전 조건이 유지되지 않으면 이 조건을 시도해 보십시오.else
명령문: 이 코드 블록은 모든 조건이 충족되지 않으면 실행됩니다.
- 루프 문 :
for
루프: 시퀀스의 각 요소를 반복합니다.while
루프: 조건이 true인 동안 코드 블록을 반복합니다.
2. 프로그래밍에서 제어 구조의 중요성
프로그래밍에서 제어 구조의 중요성은 이를 통해 프로그램이 다양한 조건에 따라 또는 반복적으로 특정 코드 블록을 실행할 수 있다는 것입니다. 이를 통해 프로그램은 의사결정을 내리고, 반복적인 작업을 수행하고, 복잡한 프로세스를 관리하여 다양한 기능과 알고리즘을 구현할 수 있습니다.
- 의사결정 능력 : 조건문(if, elif, else 등)을 통해 프로그램은 조건에 따라 다른 코드 경로를 실행할 수 있어 의사결정 기능을 실현할 수 있습니다.
- 반복 실행 : 루프 문(예: for, while)을 사용하면 프로그램이 코드 블록을 반복적으로 실행할 수 있습니다. 이는 반복 작업 처리, 데이터 구조 탐색 및 기타 시나리오에 매우 중요합니다.
- 프로세스 관리 : 제어 구조는 프로그램의 실행 프로세스를 효과적으로 관리할 수 있으므로 프로그램이 논리적 순서로 실행될 수 있어 코드의 가독성과 유지 관리성이 향상됩니다.
- 알고리즘 구현 : 제어 구조는 정렬, 검색, 동적 프로그래밍과 같은 알고리즘이 조건문 및 루프문 지원과 분리될 수 없습니다.
- 유연성 및 확장성 : 제어 구조를 합리적으로 사용하면 프로그램을 보다 유연하고 확장 가능하게 만들고 다양한 입력 및 시나리오에 적응할 수 있으며 프로그램의 다양성을 향상시킬 수 있습니다.
요약하면, 제어 구조는 프로그래밍 언어의 핵심 구성 요소이며, 기능이 풍부하고 논리적으로 복잡한 프로그램을 작성하려면 제어 구조를 마스터하는 것이 중요합니다.
2. 조건문
1. if 문의 기본 사용법
Python에서 if
명령문은 조건에 따라 코드 블록을 실행하는 데 사용됩니다. 다음은 if
문의 기본 사용법입니다.
-
단일
if
조건문 :if condition: # 如果条件为真,则执行这里的代码 print("条件为真,执行此代码块。")
-
다중
if
조건문 :if condition1: # 如果条件1为真,则执行这里的代码 print("条件1为真,执行此代码块。") elif condition2: # 如果条件1不为真,但条件2为真,则执行这里的代码 print("条件1不为真,条件2为真,执行此代码块。") else: # 如果条件1和条件2都不为真,则执行这里的代码 print("条件1和条件2都不为真,执行此代码块。")
-
if
문의 코드 블록 :if
명령문 뒤의 콜론( )은:
코드 블록의 시작을 표시합니다.- 코드 블록은 들여쓰기되어야 합니다(일반적으로 공백 4개 또는 탭 1개).
- 올바른 들여쓰기는 Python에서 구조를 제어하는 데 핵심입니다.
-
지침 :
- 조건식은 특히 조건이 여러 개인 경우 괄호로 묶어야 합니다.
if
명령문 뒤에 콜론을 추가하는 것을 잊지 마십시오 .- 코드 블록이 올바르게 들여쓰기되었는지 확인하세요.
-
예 :
age = 20 if age >= 18: print("您已成年。") else: print("您还未成年。")
이 예에서 age
변수가 18보다 크거나 같으면 "당신은 성인입니다."를 인쇄하고, 그렇지 않으면 "당신은 아직 미성년자가 아닙니다."를 인쇄합니다. 문의 if
기본 목적은 조건부 평가 결과에 따라 특정 코드 블록을 실행할지 여부를 결정하는 것입니다.
2. else 절 사용
Python에서는 조건이 충족되지 않을 때 대체 실행 경로를 제공하기 위해 절을 명령문과 함께 사용하는 else
경우가 많습니다 . 절의 기본 용도 는 다음과 같습니다 .if
if
else
-
간단한 설명
if
뒤의else
조항 :if condition: # 如果条件为真,则执行这里的代码 else: # 如果条件不为真,则执行这里的代码 print("条件不为真,执行此代码块。")
-
elif
조항 및else
조항 :if condition1: # 如果条件1为真,则执行这里的代码 elif condition2: # 如果条件1不为真,但条件2为真,则执行这里的代码 else: # 如果条件1和条件2都不为真,则执行这里的代码 print("条件1和条件2都不为真,执行此代码块。")
-
else
절 ANDfor
또는while
루프 :for item in collection: # 循环体代码 else: # 当循环正常完成时执行,即循环体未被`break`语句打断时执行 print("循环体已全部执行完毕。")
절을 사용할 때 else
다음 사항에 주의해야 합니다.
else
절은 명령문if
앞뒤에 사용해야 합니다if
.else
절 내의 코드 블록은 코드 구조를 명확하게 유지하기 위해 동일한 들여쓰기 수준을 가져야 합니다.elif
절 내에서 각 절elif
과 해당 절은else
동일한 들여쓰기 수준을 가져야 합니다.for
orwhile
루프 에서else
절은 루프의 정상적인 끝에서 실행됩니다. 즉,break
루프 본문이 문에 의해 중단되지 않을 때입니다. 예를 들어:
x = 10
if x > 0:
print("x 是正数")
else:
print("x 不是正数")
이 예에서 x
0보다 크면 "x는 양수입니다"를 인쇄하고, 그렇지 않으면 "x는 양수가 아닙니다"를 인쇄합니다.
3. elif 절의 사용
Python에서는 문의 조건이 충족되지 않을 때 추가 조건 확인을 제공하기 elif
위해 (else if의 약어) 절을 사용합니다 . 절은 다중 조건 분기 논리를 구현하는 데 자주 사용됩니다. 절의 기본 용도 는 다음과 같습니다 .if
elif
elif
-
if-elif-else
구조 :if condition1: # 如果条件1为真,则执行这里的代码 elif condition2: # 如果条件1不为真,但条件2为真,则执行这里的代码 else: # 如果条件1和条件2都不为真,则执行这里的代码 print("条件1和条件2都不为真,执行此代码块。")
-
elif
조항의 순서 :elif
조항은 가능성이 가장 높은 것부터 순서대로 정렬되어야 합니다.- 이를 통해 프로그램은 조건을 만족하는 절을 더 빠르게 찾아
elif
실행할 수 있습니다.
-
지침 :
- 각각
elif
및 해당 항목은else
동일한 들여쓰기 수준을 가져야 합니다. - 첫 번째
if
조건이 충족되지 않으면 Python은 첫 번째elif
조건을 확인하고 충족되면 해당 코드 블록을 실행합니다. - 모든
if
ANDelif
조건이 충족되지 않으면else
해당 절(있는 경우)이 실행됩니다.
- 각각
-
예 :
grade = 'B' if grade == 'A': print("优秀!") elif grade == 'B': print("良好。") elif grade == 'C': print("及格。") else: print("加油,再努力!")
grade
이 예에서는 변수 값 에 따라 프로그램이 다른 메시지를 인쇄합니다. 'A' 이면 grade
"Excellent!"를 인쇄하고, 'B'이면 "Good"을 인쇄합니다. 둘 다 아니라면 "자, 더 노력하세요."를 인쇄합니다. " ! ". elif
절은 복잡한 조건부 판단을 구현하는 일반적인 방법입니다. 절은 코드를 더 명확하고 이해하기 쉽게 만듭니다.
4. 중첩된 if 문
중첩된 문은 문 블록 내에서 다른 문을 사용하는 것을 if
의미합니다 . 중첩된 문을 사용하면 여러 조건에 따라 다양한 코드 경로를 실행할 수 있습니다. 다음은 중첩 문의 기본 사용법입니다.if
if
if
if
- 중첩된
if
문 :x = 10 if x > 0: print("x 是正数") if x < 100: print("x 是一个小于100的正数") else: print("x 不是正数")
이 예에서는 먼저 x
0보다 큰지 확인합니다. 그렇다면 x
100 미만인지 추가로 확인하세요. 2. 참고 사항 :
- 내부 문이 외부 문과 동일한 들여쓰기 수준을
if
가지고 있는지 확인하세요.if
- 각 중첩
if
문에는 무한 루프를 방지하기 위한 명시적 조건이 있어야 합니다.
- 예 :
age = 21 if age >= 18: print("您已成年。") if age >= 21: print("您已超过法定饮酒年龄。") else: print("您还未达到法定饮酒年龄。") else: print("您还未成年。")
이 예에서는 먼저 age
18보다 크거나 같은지 확인하고, 그렇다면 21보다 크거나 같은지 추가로 확인합니다. 중첩된 if
문은 복잡한 논리를 처리할 때 매우 유용하지만 과도하게 사용하거나 잘못 사용하면 코드를 이해하고 유지 관리하기 어려울 수 있습니다. 따라서 중첩된 문을 작성할 때는 if
논리가 명확한지 확인하고 최대한 간결하게 유지하세요.
3. 논리 연산자
1. and
, or
및 not
연산자 의 사용
Python에서는 and
, or
및 not
연산자가 논리 연산에 사용됩니다. 이들은 여러 조건을 결합하거나 단일 조건을 부정하는 데 사용됩니다.
and
운영자
- 두 조건이 모두 true이면
and
연산자의 결과는 true입니다 . - 그렇지 않으면 결과는 거짓입니다.
condition1 = True
condition2 = False
result = condition1 and condition2
print(result) # 输出:False
or
운영자
- 두 조건 중 하나 이상이 true이면
or
연산자의 결과는 true입니다 . - 그렇지 않으면 결과는 거짓입니다.
condition1 = True
condition2 = False
result = condition1 or condition2
print(result) # 输出:True
not
운영자
- 단일 조건을 부정합니다.
- 조건이 true이면
not
연산자의 결과는 false입니다. - 그렇지 않으면 결과는 true입니다.
condition = True
result = not condition
print(result) # 输出:False
지침
- 논리 연산자의 양쪽 피연산자는 일반적으로 부울 값입니다.
- 논리 연산자의 연산 순서는 왼쪽에서 오른쪽입니다.
- 논리 연산자는 모든 부울 표현식과 함께 사용할 수 있습니다.
예
# 组合使用 and、or 和 not 运算符
x = 10
y = 20
result = (x > 5) and (y > 10)
print(result) # 输出:False
result = (x > 5) or (y > 10)
print(result) # 输出:True
result = not (x == y)
print(result) # 输出:True
이러한 연산자는 조건문을 작성할 때 매우 유용하며 복잡한 논리적 판단을 내리는 데 도움이 될 수 있습니다. 논리 연산자를 적절하게 사용하면 코드의 명확성과 가독성을 높일 수 있습니다.
2. 조건문에 적용
논리 연산자는 조건문에서 널리 사용되며 여러 조건을 결합하여 더 복잡한 결정을 내릴 수 있도록 해줍니다. Python에서 주요 논리 연산자에는 and
, or
및 가 포함됩니다 not
.
and
운영자
and
연산자는 두 개 이상의 조건이 동시에 참인지 확인하는 데 사용됩니다.if
명령문 내에서and
다음을 사용하여 여러 조건을 결합할 수 있습니다.
x = 10
y = 20
if x > 5 and y > 10:
print("x 和 y 都大于它们的阈值。")
x
이 예에서 코드 블록은 5보다 크고 y
10보다 큰 경우에만 실행됩니다 .
or
운영자
or
연산자는 둘 이상의 조건 중 적어도 하나가 참인지 확인하는 데 사용됩니다.if
명령문 내에서or
를 사용하여 대체 조건을 제공할 수 있습니다.
x = 10
y = 5
if x > 5 or y > 10:
print("x 或 y 至少有一个大于它们的阈值。")
이 예에서는 x
5보다 크거나 y
10보다 크면 코드 블록이 실행됩니다.
not
운영자
not
연산자는 단일 조건을 부정하는 데 사용됩니다.if
명령문 내에서 를 사용하여not
조건의 논리를 반대로 바꿀 수 있습니다.
x = 5
if not (x > 10):
print("x 不大于10。")
이 예에서는 not
연산자를 사용하여 x
10보다 크지 않은지 확인합니다. x
10보다 크지 않으면 코드 블록이 실행됩니다.
지침
- 논리 연산자를 사용할 때는 코드를 읽기 쉽게 유지하고 공백과 줄바꿈을 적절하게 사용하도록 주의하세요.
- 논리 연산자의 양쪽에 있는 피연산자는 동일한 데이터 유형(일반적으로 부울)이어야 합니다.
- 여러 논리연산자를 조합하여 사용할 때에는 연산의 우선순위가
and
보다 높은 것에 주의하세요or
. 논리 연산자를 합리적으로 사용하면 조건문을 더욱 정확하고 강력하게 만들 수 있으며, 보다 복잡한 논리적 판단도 처리할 수 있습니다.
4. 루프 구조
1. for
루프의 기본 사용법
Python에서 for
루프는 시퀀스(예: 목록, 튜플, 문자열) 또는 반복 가능한 객체를 순회하는 반복 문입니다. for
루프 사용의 기본 사항 은 다음과 같습니다 .
-
기본
for
루프 :for item in iterable: # 遍历iterable中的每个item print(item)
-
for
루프의 반복 변수 :- 반복 변수는 일반적으로 이름이 지정되지만
item
유효한 변수 이름을 사용할 수 있습니다. - 각 반복마다 의 다음 요소가
item
할당됩니다 .iterable
- 반복 변수는 일반적으로 이름이 지정되지만
-
for
루프 내 코드 블록 :- 코드 블록은 들여쓰기되어야 합니다(일반적으로 공백 4개 또는 탭 1개).
- 올바른 들여쓰기는 Python에서 구조를 제어하는 데 핵심입니다.
-
예 :
# 遍历列表中的每个元素 fruits = ["apple", "banana", "cherry"] for fruit in fruits: print(fruit)
이 예에서 for
루프는 fruits
목록의 각 요소를 반복하여 인쇄합니다. 5. for
루프의 else
절 :
for
루프에는 문에 의해 중단else
되지 않고 외부 루프의 각 반복에서 실행되는 선택적 절이 포함될 수도 있습니다 .break
else
절은 일반적으로 루프가 정상적으로 완료될 때 정리 작업이나 일부 코드를 수행하는 데 사용됩니다.
for item in iterable:
# 循环体代码
else:
# 当循环正常完成时执行
print("循环体已全部执行完毕。")
for
루프는 Python의 매우 강력한 기능이며 데이터 처리 및 파일 작업과 같은 시나리오에서 널리 사용됩니다. 루프를 for
사용하면 시퀀스의 각 요소를 쉽게 반복하고 조작할 수 있습니다.
2. while
루프의 기본 사용법
Python에서 while
루프는 특정 조건에 따라 코드 블록을 반복적으로 실행하는 순환 구조입니다. while
루프 사용의 기본 사항 은 다음과 같습니다 .
-
기본
while
루프 :while condition: # 当condition为真时,重复执行这里的代码 print("条件为真,继续循环。")
-
루프의 기본 구조 :
while
키워드는 루프의 시작을 표시합니다.- 조건식은 괄호로 묶어야 합니다.
- 코드 블록은 들여쓰기되어야 합니다(일반적으로 공백 4개 또는 탭 1개).
-
조건부 판단 :
- 조건이 더 이상 참이 아닐 때까지 루프가 계속됩니다.
- 조건은 일반적으로 루프가 계속 실행되는지 여부를 결정하는 부울 표현식입니다.
-
예 :
count = 0 while count < 5: print(count) count += 1
이 예에서는 변수가 값 5에 도달할 while
때까지 루프가 반복됩니다 . count
5. 참고 사항 :
- 무한 루프를 피하고 조건이 결국 거짓이 되도록 하십시오.
- 코드를 읽기 쉽게 유지하려면 코드 블록을 올바르게 들여쓰기하세요.
while
루프는 반복적인 작업을 구현하고 지속적으로 조건을 확인하는 데 중요한 도구입니다. 특정 조건이 충족될 때까지 여러 번의 반복이 필요한 상황을 처리하는 데 자주 사용됩니다. 루프를 적절하게 사용하면while
프로그램의 효율성과 유지 관리 가능성이 향상될 수 있습니다.
5. 루프 제어문
1. break
진술의 사용
Python에서는 루프이든 루프 break
이든 현재 있는 루프 구조를 즉시 종료하는 데 명령문을 사용합니다 . 다음은 문의 기본 사용법입니다.for
while
break
- 루프
for
에서 사용됩니다break
.for item in iterable: if item == "special": break # 退出for循环 print(item)
이 예에서 루프의 명령문이 item
"special" 이면 break
루프가 즉시 종료됩니다. 2. 루프 while
에서 사용break
:
count = 0
while count < 5:
print(count)
count += 1
if count == 3:
break # 退出while循环
이 예에서 count
3과 같으면 break
명령문은 while
루프를 즉시 종료하게 합니다. 3. 참고 사항 :
break
명령문은 해당 명령문이 위치한 루프 수준에서만 사용할 수 있습니다.- 명령문이 실행되면
break
루프 구조가 즉시 종료되고 루프 본문의 나머지 코드는 더 이상 실행되지 않습니다. - 이를 사용할 때
break
무한 루프가 생성되지 않도록 루프가 결국 종료되는지 확인해야 합니다.break
명령문은 루프 실행을 제어하는 주요 방법 중 하나입니다. 이를 통해 특정 조건이 충족될 때 루프를 조기에 종료할 수 있으므로 불필요한 반복을 피할 수 있습니다. 올바르게 사용하면break
코드를 더욱 효율적이고 유연하게 만들 수 있습니다.
2. continue
진술의 사용
Python에서는 continue
명령문을 사용하여 현재 루프의 나머지 코드를 건너뛰고 다음 반복을 시작합니다. 명령문이 실행 되면 continue
현재 루프 반복이 즉시 종료되고 프로그램 제어 흐름이 루프의 시작 부분으로 다시 점프하며 루프 조건이 확인되고 조건이 true이면 다음 반복이 시작됩니다. 다음은 continue
문의 기본 사용법입니다.
- 루프
for
에서 사용됩니다continue
.for item in iterable: if item == "special": continue # 跳过当前迭代,继续下一次迭代 print(item)
이 예에서 item
루프에서 "special"과 같으면 continue
문은 현재 반복을 즉시 종료하고 다음 반복을 시작하게 합니다. 2. 루프 while
에서 사용continue
:
count = 0
while count < 5:
count += 1
if count == 3:
continue # 跳过当前迭代,继续下一次迭代
print(count)
이 예에서 count
3과 같으면 continue
문은 현재 반복을 즉시 종료하고 다음 반복을 시작합니다. 3. 참고 사항 :
continue
명령문은 해당 명령문이 위치한 루프 수준에서만 사용할 수 있습니다.- 를 사용할 때
continue
원하는 효과가 아닌 한 루프가 조기에 종료되지 않도록 해야 합니다. continue
문은 일반적으로 불필요한 반복을 건너뛰거나 특정 조건에서 루프 내에서 작업을 수행하는 데 사용됩니다.continue
문은 루프 실행을 제어하는 또 다른 방법으로, 특정 조건이 충족될 때 현재 반복을 건너뛸 수 있도록 하여 루프의 효율성과 정확성을 향상시킵니다. 올바르게 사용하면continue
코드가 더욱 유연해지고 유지 관리가 쉬워집니다.
3. pass 문 사용
Python에서 pass
명령문은 아무 작업도 수행하지 않는 무작동(no-op)이며 일반적으로 자리 표시자로 사용되거나 코드 구조의 무결성을 유지하기 위해 사용됩니다. 코드에 명령문이 필요하지만 실제 작업을 수행하지 않으려는 경우에 사용합니다 pass
. 다음은 pass
문의 기본 사용법입니다.
-
기본
pass
설명 :pass # 这是一个空操作,不执行任何操作
-
함수 정의에 사용
pass
:def example_function(): pass # 函数中使用pass作为占位符
이 예에서는 example_function
실제 코드가 포함되지 않은 빈 함수입니다. 3. 클래스 정의에 사용pass
:
class ExampleClass:
pass # 类中使用pass作为占位符
이 예에서는 ExampleClass
속성이나 메서드를 정의하지 않는 빈 클래스입니다. 4. 참고 사항 :
pass
명령문은 코드 구조를 그대로 유지하는 데 사용되는 경우가 많습니다. 특히 명령문이 필요하지만 어떤 작업도 수행하고 싶지 않은 경우에 그렇습니다.- 함수나 클래스에서 자리 표시자로 사용하면
pass
함수나 클래스가 당분간 어떤 기능도 구현하지 않더라도 코드가 Python의 구문 규칙을 따르게 됩니다.pass
명령문은 아무 작업도 하지 않지만 어떤 경우에는 코드를 명확하고 일관되게 유지해야 합니다. 올바르게 사용하면pass
코드가 더 깔끔해지고 향후 코드 유지 관리 및 확장이 용이해집니다.
6. 연습과 예시
조건문 및 루프 구조에 대한 연습 문제
- 연령 판단 : 입력된 연령(투표 연령을 18세로 가정)을 기준으로 투표 가능 여부를 판단하는 프로그램을 작성합니다.
age = int(input("请输入年龄:"))
if age >= 18:
print("可以投票。")
else:
print("还未到投票年龄。")
- 삼각형 인쇄 :
for
루프를 사용하여 직각 삼각형을 인쇄합니다.
for i in range(1, 6):
for j in range(1, i + 1):
print("*", end=" ")
print()
- 숫자 추측 게임 : 숫자 추측 게임을 작성하세요. 프로그램은 1에서 100 사이의 정수를 무작위로 생성합니다. 플레이어는 숫자를 추측할 수 있는 기회가 10번 있습니다.
import random
secret_number = random.randint(1, 100)
for attempt in range(10):
guess = int(input("请猜一个1到100之间的整数:"))
if guess < secret_number:
print("太小了!")
elif guess > secret_number:
print("太大了!")
else:
print(f"恭喜你,猜对了!秘密数字是 {secret_number}。")
break
if attempt == 9:
print("你没有足够的尝试次数来猜出数字。")
실제 문제 해결의 예
질문 1: 개인소득세 계산하기
개인 소득세가 다음과 같이 계산된다고 가정합니다.
- 월 소득이 5,000위안 이하인 경우 개인소득세를 납부할 필요가 없습니다.
- 월 소득이 5,000~15,000위안이면 세율은 5%입니다.
- 월 소득이 15,000~30,000위안이면 세율은 10%입니다.
- 월 소득이 30,000위안을 초과하는 경우 세율은 20%입니다.
income = float(input("请输入您的月收入:"))
if income <= 5000:
tax = 0
elif income <= 15000:
tax = income * 0.05
elif income <= 30000:
tax = income * 0.10
else:
tax = income * 0.20
print(f"您的个人所得税为:{tax:.2f}元。")
질문 2: 1에서 100 사이의 모든 짝수의 합을 계산하세요.
sum_even = 0
for i in range(1, 101):
if i % 2 == 0:
sum_even += i
print(f"1到100之间所有偶数的和是:{sum_even}")
Linus는 커널 개발자가 탭을 공백으로 대체하는 것을 막기 위해 문제를 직접 해결했습니다. 그의 아버지는 코드를 작성할 수 있는 몇 안 되는 리더 중 한 명이고, 둘째 아들은 오픈 소스 기술 부서의 책임자이며, 막내 아들은 핵심입니다. Huawei: 일반적으로 사용되는 모바일 애플리케이션 5,000개를 변환하는 데 1년이 걸렸습니다. Hongmeng으로의 포괄적인 마이그레이션 Java는 타사 취약점에 가장 취약한 언어입니다. Hongmeng의 아버지인 Wang Chenglu: 오픈 소스 Hongmeng은 유일한 아키텍처 혁신입니다. 중국 기초 소프트웨어 분야의 마화텅(Ma Huateng)과 저우홍이(Zhou Hongyi)가 악수를 하며 "원한을 풀다" 전 마이크로소프트 개발자: 윈도우 11 성능은 "터무니없을 정도로 나쁘다" 라오샹지가 오픈소스인 것은 코드는 아니지만 그 이유는 다음과 같다. Google이 대규모 구조 조정을 발표 했습니다 .이 글은 Heng Xiaopai 글을 재인쇄한 글 이며, 저작권은 원저자에게 있습니다. 이 기사를 다시 인쇄하려면 원문을 방문하는 것이 좋습니다.