> 백엔드 개발 > 파이썬 튜토리얼 > Python 조건문 및 루프문에 대한 기본 지식 소개

Python 조건문 및 루프문에 대한 기본 지식 소개

高洛峰
풀어 주다: 2017-03-20 09:17:22
원래의
1818명이 탐색했습니다.

이 글에서는 주로 Python 조건문과 루프문에 대한 기본 지식을 소개합니다. 주요 내용은 다음과 같습니다: 1. 조건문: 단일 분기, 이중 분기 및 다중 분기 문, if-elif-else 포함 2. 루프 문: while 및 간단한 웹 브라우저 크롤러 사용 3. 루프 문: 사용 목록, 튜플, 파일 및 문자열에 대해 반복합니다.

이 글에서는 Python의 조건문과 루프 문의 기본 지식에 대해 설명합니다.

조건문: 단일 분기, 이중 분기 및 다중 분기 포함. 문, if-elif-else

2. 루프 문: while 및 간단한 웹 브라우저 크롤러 사용

3. 루프 문: for 사용 및 목록, 튜플, 파일 및 문자열 순회

서문: 명령문 블록

은 조건문, 루프 문 및 기타 명령문에 대해 이야기합니다. 먼저 문장 블록에 대한 지식을 보충해 보겠습니다. (앞서 함수 이야기할 때 사용했습니다.)

문 블록은 일종의 문장이 아니며, 조건이 참일 때 여러 번(루프) 실행됩니다. (조건문) 명령문) 명령문을 들여쓰기하기 위해 코드 앞에 공백이나 탭 문자를 배치하여 명령문 블록을 생성할 수 있습니다. 다른 단어나 문자(예: end 또는 })를 사용하여 명령문 블록의 끝을 나타냅니다.

Python에서는 콜론(:)을 사용하여 명령문의 시작을 식별합니다. 블록의 각 문은 들여쓰기됩니다(동일한 들여쓰기 크기). 들여쓰기가 닫힌 블록과 동일하면 현재 블록이 종료되었음을 의미합니다. > 1. 조건문 if

if 분기문 표현식에는 세 가지 일반적인 기본 유형이 있습니다.

1.

기본 형식은 다음과 같습니다.

   if condition:
   statement
   statement
로그인 후 복사

if 조건부라는 점에 유의해야 합니다. Ptthon의 명령문에는 괄호()가 필요하지 않으므로 조건 뒤에 콜론을 추가해야 합니다. 중괄호 {}는 없지만 TAB을 사용하여 구분을 구현합니다. 그 중 조건 조건 판단에는 일반적으로 부울 표현식(True| False 0-False|1-True, 0 또는 true), 관계식( >= <= == !=) 및 논리 연산식(and 또는 not).

2. 이중 분기문

기본 형식은

   if condition:
   statement
   statement
   else:
   statement
   statement
로그인 후 복사

3. 다중 분기 문

다중 분기가 if-elif-else로 구성된 경우 elif는 else if와 동일하며 여러 if를 중첩할 수 있습니다. 구체적인 코드는 다음과 같습니다.

#双分支if-else 
count = input("please input:") 
print &#39;count=&#39;,count 
if count>80: 
 print &#39;lager than 80&#39; 
else: 
 print &#39;lower than 80&#39; 
print &#39;End if-else&#39; 
 
#多分支if-elif-else 
number = input("please input:") 
print &#39;number=&#39;,number 
if number>=90: 
 print &#39;A&#39; 
elif number>=80: 
 print &#39;B&#39; 
elif number>=70: 
 print &#39;C&#39; 
elif number>=60: 
 print &#39;D&#39; 
else: 
 print &#39;No pass&#39; 
print &#39;End if-elif-else&#39; 
 
#条件判断 
sex = raw_input("plz input your sex:") 
if sex==&#39;male&#39; or sex==&#39;m&#39; or sex==&#39;man&#39;: 
 print &#39;Man&#39; 
else: 
 print &#39;Woman&#39;
로그인 후 복사

2. 루프문 while

while 루프의 기본 형식

    while condition:
     statement
     statement
    else:
     statement
     statement
로그인 후 복사

판단 조건문 조건은 불리언식, 관계식, 논리식 모두 가능하며, else는 생략 가능(나열됨) 예를 들어

#循环while计数1+2+..+100 
i = 1 
s = 0 
while i <= 100: 
 s = s+i 
 i = i+1 
else: 
 print &#39;exit while&#39; 
print &#39;sum = &#39;,s 
 
&#39;&#39;&#39;&#39;&#39; 
输出结果为:exit while 
 sum = 5050 
&#39;&#39;&#39;
로그인 후 복사

출력 결과는 5050입니다. i를 101에 추가하면 else 문이 실행됩니다. 왜냐면 i>100.

주의 사항 Python에서는 파운드 기호(#)를 사용하여 줄 주석을 표시하고 삼중따옴표('''...''')를 사용합니다. 여러 줄 주석을 나타내는 데 사용됩니다. 이는 C/C++의 // 줄 주석 및 /**/ 여러 줄 주석과 다릅니다.

다음은 블로그 크롤러를 브러시하세요. 코드가 먼저 제공되고 설명됩니다:

import webbrowser as web 
import time 
import os 
i=0 
while i<5: 
 web.open_new_tab(&#39;http://andy111.blog.sohu.com/46684846.html&#39;) 
 i=i+1 
 time.sleep(0.8) 
else: 
 os.system(&#39;taskkill /F /IM iexplore.exe&#39;) 
print &#39;close IE&#39;
로그인 후 복사

Sohu에서 블로그나 Sina 블로그가 새 창에서 열리면 브라우징 방문 횟수가 늘어나므로 위의 코드는 주로 웹 브라우저 브라우저의 open_new_tab을 호출하여 새 창을 열지만 CSDN은 그렇지 않습니다(사용자 또는 IP 바인딩과 관련된 것으로 추정). 🎜>

위 코드에서 windoes 명령 taskkill의 기능은 애플리케이션 IE 브라우저를 종료하는 것입니다. DOS에서 "taskkill /F /IM iexplore.exe"를 입력하여 애플리케이션(chrome.exe 또는 qq.exe)을 강제 종료합니다. ), 여기서 /F는 프로그램을 강제 종료하는 것을 의미하고 /IM은 이미지를 의미합니다. 이 프로그램의 주요 기능은 메모리를 지우고 메모리 소비가 너무 클 경우 충돌을 방지하는 것입니다. ) import os 기능을 사용하여 Linux에서 프로세스를 종료하려면 kill 명령(kill -pid 또는 killall)을 사용하세요. 코드에서 time.sleep(초)는 "특정 초 동안 실행을 지연한다"는 의미로, 오픈부터 로딩까지 일정 시간이 소요됩니다.

조회수를 늘려야 할 때. 많은 경우 두 가지 수준의 루프 중첩을 사용할 수 있습니다. 5개의 웹 페이지를 열 때마다 해당 페이지를 닫고 100번 실행하여 과도한 메모리 소비로 인해 메모리가 충돌하지 않도록 할 수도 있습니다. randint(20,40)는 외부 루프를 실행하기 위해 20~40개의 난수를 생성합니다. 코드는 비교적 간단합니다. 주로 이를 통해 Python에 대한 몇 가지 기본 지식을 소개하고 싶습니다. 열림 시간이 일치하지 않는다는 오류가 발생합니다. 왜 그럴까요?

3. 루프문이것은 루프문의 기본 형식입니다:

Python 조건문 및 루프문에 대한 기본 지식 소개아아아아

target表示变量名,sequences表示序列,常见类型有list(列表)、tuple(元组)、strings(字符串)和files(文件).

Python的for没有体现出循环的次数,不像C语言的for(i=0;i<10;i++)中i循环计数,Python的for指每次从序列sequences里面的数据项取值放到target里,取完即结束,取多少次循环多少次.其中in为成员资格运算符,检查一个值是否在序列中.同样可以使用break和continue跳出循环.

1.字符串循环

s1 = &#39;Eastmount of CSDN&#39; 
for c in s1: 
 print c,
로그인 후 복사

注意:如果在print结尾加上逗号,那么接下来语句会与前一条语句在同一行打印.故上面输出显示一行.

2.列表循环

list1 = [1,3,4,5,&#39;x&#39;,12.5] 
i = 0 
for val in list1: 
 print format(i,&#39;2d&#39;),val 
 i = i+1 
else: 
 print &#39;out for&#39;
로그인 후 복사

注意:列表List由一堆数据用逗号间隔,方括号括起,可以是同类型也可以是不同类型.format(i,'2d')相当于输出两位,不足的补空格.当输出0-9时显示"口0",而输出10-99时显示"10"实现对其功能.输出结果如下:

1 3 
2 4 
3 5 
4 x 
5 12.5 
ut for
로그인 후 복사

因为迭代(循环另一种说法)某范围的数字是很常用的,所以有个内建的范围函数range供使用.列表中for n in [1,2,3,4,5,6,7,8]相当于listNum=range(1,9).其格式"range(start, stop[, step]) -> list of integers",它的工作方式类似于分片,它包含下限(本例range(1,9)中为1),但不包含上限(本例中9),如果希望下限为0,可以只提供上限如range(4)=[0,1,2,3].

产生1到100的数字range(1,101),输出1到100的奇数range(1,101,2),输出1到100的偶数range(2,101,2).

3.元组循环

tup = (1,2,3,4,5) 
for n in tup: 
 print n 
else: 
 print &#39;End for&#39;
로그인 후 복사

元组tuple每个数据项不可修改,只可读,而序列list[1,2,3,4]可以修改.

4.文件循环

help(file.read)返回一个字符串."read([size]) -> read at most size bytes, returned as a string."

help(file.readlines)返回一个列表."readlines([size]) -> list of strings, each a line from the file."相当于读n行,由n次readline组成,读出的字符串构成列表.

help(file.readline)从某个文件读一行."readline([size]) -> next line from the file, as a string."

#文件循环遍历三种对比 
for n in open(&#39;for.py&#39;,&#39;r&#39;).read(): 
 print n, 
print &#39;End&#39; 
for n in open(&#39;for.py&#39;,&#39;r&#39;).readlines(): 
 print n, 
print &#39;End&#39; 
for n in open(&#39;for.py&#39;,&#39;r&#39;).readline(): 
 print n, 
print &#39;End&#39;
로그인 후 복사

输出显示:

#第一个read()输出:每个字符间有个空格 
s 1 = &#39; E a s t m o u n t o f C S D N &#39; 
f o r c i n s 1 : 
.... 
End 
#第二个readlines()输出:读取的是一行 
s1 = &#39;Eastmount of CSDN&#39; 
for c in s1: 
.... 
End 
#第三个readline()输出:读取for.py文件第一行并输出 
s 1 = &#39; E a s t m o u n t o f C S D N &#39; 
End
로그인 후 복사

如果需要文件输出也可以通过下面代码实现,使用w会覆盖而a+是追加功能,后面讲文件详细叙述.

 for r in open(&#39;test.txt&#39;,&#39;r&#39;).readlines():
 open(&#39;test.txt&#39;,&#39;a+&#39;).write(c)
로그인 후 복사


위 내용은 Python 조건문 및 루프문에 대한 기본 지식 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿