Python - 분기 구조 및 루프 구조

(1) 문장 하단의 논리적 사고

             제어문: 명령문을 특정 기능을 완료할 수 있는 작은 논리 모듈로 결합합니다. 시퀀스, 선택 및 루프의 세 가지 범주가 있습니다.

안에:

 " 순차 구조 " 는 "먼저 a를 수행한 다음 b를 수행"하는 논리를 나타냅니다 . 예를 들어 먼저 여자 친구를 찾은 다음 여자 친구에게 전화를 겁니다.

  결혼하다, 재혼하다;

1
" 조건부 판단 구조 " 는 "if...then..." 의 논리를 나타냅니다 . 예를 들어 여자친구가 전화하면 빨리 전화를 받고,
빨간불에서 정지;
2
" 루프 구조 " 는 "if...then repeat..." 의 논리를 나타냅니다 . 예를 들어, 여자 친구의 전화 번호로 연결되지 않으면 계속해서 다른 전화를 겁니다.
시간; 마음에 드는 사람을 찾지 못하면 계속 찾으십시오.

 

위와 같이 세 가지 흐름 제어 문이 모든 것을 표현할 수      있다는 사실에 놀랐습니다 ! 우리는 살아가면서 마주치는 다양한 일들을 분별하려고 노력할 수 있습니다. 실제로 모든 소프트웨어 와 프로그램은 운동만큼 작거나 운영 체제만큼 크면 본질적 " 변형 "으로 구성됩니다.
수량, 선택문, 루프 " .

(2) 선택 구조 ( 조건부 판단 구조 )

    선택 구조는 조건이 참인지 여부를 판단하여 실행할 분기를 결정합니다 . 단일 분기, 이중 분기 및 다중 분기로 구분되는 많은 형태의 선택 구조가 있습니다.

단일 분기 선택 구조

조건이 충족되면 실행하고 그렇지 않으면 실행하지 않습니다. if 문의 단일 분기 구조의 문법적 형식은 다음과 같습니다.

if 조건식 :
/ 블록
  조건식: 논리식, 관계식, 산술식 등이 될 수 있습니다.
조건식에 대한 자세한 설명
Ⅰ 선택 및 루프 구조에서 조건식은 다음과 같이 False 로 평가됩니다.
      False , 0 , 0.0 , null 값 None , 빈 시퀀스 개체(빈 목록, 빈 튜플, 빈 컬렉션, 빈 사전, 빈 문자
문자열), 빈 범위 개체 및 빈 반복자 개체입니다.
다른 모든 경우에는 True 입니다 . 이러한 관점에서 파이썬 의 모든 적법한 표현은 함수 호출의 표현일지라도 조건식으로 간주될 수 있습니다.
Ⅱ  조건식에는 대입 연산자가 있을 수 없다 =
파이썬        에서는 대입 연산자 = 가 조건식에 나타날 수 없기 때문에 관계 연산자 == 를 다른 언어에서 대입 연산자 = 로 잘못 작성하여 발생하는 문제를 피할 수 있습니다.
다음 코드는 구문 오류를 보고합니다.
if 6 < c and (c=20):   #直接报语法错误!
print("赋值符不能出现在条件表达式中")
명령문 / 문 블록: 하나의 명령문 또는 여러 명령문일 수 있습니다. 여러 문장의 경우 들여쓰기가 일관되어야 합니다.

 

두 분기 선택 구조

이중 분기 구조의 구문은 다음과 같습니다.

if 조건식 :
명령문 1/ 명령문 블록 1
또 다른:
2/ 문 블록 2

 

다중 분기 선택 구조 

다중 분기 선택 구조의 구문 형식은 다음과 같습니다.
if 조건식 1:
명령문 1/ 명령문 블록 1
elif 조건식 2:
2/ 문 블록 2
...
elif 조건식 n :
n/ 문 블록 n
[또 다른:
n+1/ 문 블록 n+1
]
참고: 컴퓨터 업계에서 문법 형식을 설명할 때 대괄호 [ ]를 사용하는 것은 일반적으로 필수가 아니라 선택 사항을 의미합니다.
다중 분기 구조, 여러 분기 간에 논리적 관계가 있으며 순서를 마음대로 바꿀 수 없습니다.

분기 구조 특정 코드:

#单分支结构
if 3: #整数作为条件表达式
 print("ok")
a = []   #列表作为条件表达式,由于为空列表,是
if a:
   print("空列表,False")
s = "False"  #非空字符串,是True
if s:
  print("非空字符串,是True")
c = 9
if 3<c<20:
    print("3<c<20")
if 3<c  and  c<20:
    print("3<c and c<20")
if True: #布尔值
    print("True")

#双分支结构
num = input("请输入一个数字")
if int(num)<10:
     print(num)
else:
    print("数字太大")

#多分支结构,且elif顺序不能调换
score = int(input("请输入分数"))
grade = ''
if score<60 :
    grade = "不及格"
elif  score<80 :
    grade = "及格"
elif  score<90 :
    grade = "良好"
elif  score<=100:
    grade = "优秀"
print("分数是{0},等级是{1}".format(score,grade))

구조 중첩 선택

       선택 구조는 중첩될 수 있으며, 들여쓰기에 따라 코드의 소속이 결정되기 때문에 코드 블록의 여러 수준의 들여쓰기를 제어하는 ​​데 주의해야 합니다.

 

score = int(input("请输入一个在0-100之间的数字:"))
grade = ""
if score>100 or score<0:
    score = int(input("输入错误!请重新输入一个在0-100之间的数字:"))
else:
     if score>=90:
        grade = "A"
     elif score>=80:
        grade = 'B'
     elif score>=70:
        grade = 'C'
     elif score>=60:
        grade = 'D'
     else:
        grade = 'E'
print("分数为{0},等级为{1}".format(score,grade))

삼항 조건 연산자

간단한 이중 분기 할당 상황에서 사용되는    Python 의 삼항 연산자입니다. 삼항 조건 연산자의 구문은 다음과 같습니다.
조건이 참일 때의 값 ( 조건식 ) 그렇지 않으면 조건이 거짓일 때의 값
 
num = input("请输入一个数字")
if int(num)<10:
     print(num)
else:
    print("数字太大")
#上面代码,可以用三元条件运算符实现:这种写法更加简洁,易读
num = input("请输入一个数字")
print( num if int(num)<999 else "数字太大")

 

 (3) 루프 구조

     루프 구조는 하나 이상의 명령문을 반복적으로 실행하는 데 사용됩니다. 그러한 논리를 표현하십시오. 조건이 충족되면 루프 본문의 명령문이 반복적으로 실행됩니다. 각 실행 후 조건이 True 인지 판단하고 True 이면 루프 본문의 명령문을 반복 실행합니다. 다이어그램은 다음과 같습니다.
       루프 본문의 명령문은 적어도 조건식을 변경하는 명령문을 포함해야 루프가 종료되는 경향이 있습니다. 그렇지 않으면 무한 루프가 됩니다.

 

while 루프

    while 루프 의 구문은 다음과 같습니다.
while 조건식:
루프 본문 문

for 루프 

  for 루프는 종종 반복 가능한 객체를 순회하는 데 사용됩니다. for 루프 의 구문은 다음과 같습니다.
  반복 가능한 객체   변수 :  
루프 본문 문

반복 가능한 객체 순회

Python 에는 다음 유형의 반복 가능한 객체가 포함되어 있습니다.
1 시퀀스. 포함 항목: 문자열, 목록, 튜플, 사전, 집합
2 반복자 객체( iterator )
3 발전기 기능 ( 발전기 )
4개의 파일 객체

범위 객체

범위 개체는 지정된 범위 내에서 일련의 숫자를 생성하는 데 사용되는 반복자 개체입니다. 형식은 다음과 같습니다.
범위 ( 시작 , [, 단계 ])
     생성된 숫자 시퀀스는 시작 에서 시작 하여 끝 에서 끝납니다 ( end 는 포함되지 않음 ). start를 입력하지 않으면 기본적으로 0 부터 시작합니다 . 단계 는 선택적 단계 크기이며 기본값은 1 입니다 . 다음은 몇 가지 일반적인 예입니다.
범위(10)의 i에 대해 다음 시퀀스를 생성합니다. 0 1 2 3 4 5 6 7 8 9
범위(3,10)의 i에 대해 다음 시퀀스를 생성합니다. 3 4 5 6 7 8 9
범위(3,10,2)의 i에 대해 다음 시퀀스를 생성합니다. 3 5 7 9

 

break

        break 문은 while for 루프에서 전체 루프를 종료하는 데 사용할 수 있습니다 . 중첩된 루프가 있는 경우 break 문은 가장 가까운 루프에서만 이동할 수 있습니다.
 while True:
    a = input("请输入一个字符(输入Q或q结束)")
    if a.upper()=='Q':
        print("循环结束,退出") 
        break
    else:
        print(a)

 

계속 진술

       이 루프를 종료하고 다음 루프를 계속하려면 continue 문을 사용합니다. 여러 루프가 중첩되어 있으면 가장 가까운 루프에도 continue가 적용됩니다.

다른 진술
       while , for 루프는 else 문과 함께 사용할 수 있습니다 (선택 사항). for 문과 while 문이 break문으로 종료되지 않으면 else 절이 실행되고 그렇지 않으면 실행되지 않는다 . 구문 형식은 다음과 같습니다.

 while  조건식:

루프 본체
  그렇지 않으면 :
  문 블록
또는:
  반복 가능한 객체   변수 :  
루프 본체
그렇지 않으면 :
문 블록

추천

출처blog.csdn.net/qq_63976098/article/details/131597279