pythonプロセス制御(一)条件文、ループ文
27338 ワード
一、条件文
1.1簡単な概念 pythonは、
python 3でifの後の判断文にはカッコを付ける必要があります.2.if条件は、コードが返すブール論理結果TrueまたはFalseに基づいて動作するか否かを判断する.例えば、ブール動作:
1.2例単条件判断 多条件判定は、 ネスト条件判定で最も注意すべき問題はインデントの問題であり、if文ごとの次の行であり、そのレイヤ判定内に属する文であり、4つのスペースのインデント(前のレイヤ判定に対する位置)を行うべきである. 三元オペレータは条件式とも呼ばれ、フォーマットは に相当する.
例:
二、循環文
2.1条件サイクル:while while条件は、論理演算結果に基づいて今回のループを実行すべきか否かを判断する. 判断文で使用できる論理演算子は、ブール操作: は、循環体の前に相関変数を初期化して付与することが多い.また、循環体内には、関連変数の繰返し付与値、例えば を出力 whileはelseと結合する:whileサイクルが正常に終了した後にelse を実行する.
正常でない終了(breakを使用)ではesle内の文は実行されません
ただしcontinueを使用した場合、最後のループが実行されることを保証すればelse部分は実行されます
2.2循環文:for forループの作用オブジェクト:文字列、メタグループ、リスト、フィールド、関数 などの反復可能なオブジェクト.構文フォーマット: ケース1:文字列を巡る
ケース2:遍歴リスト
ケース3:階乗計算
ケース4:for文はelseと結合しており、最後のループが正常に終了した後に実行されます.whileとelseの結合と同じ場合
ケース5:range()と組み合わせて階乗を実現する.range関数の簡単な説明:完全な構文
ケース6:zip()文と組み合わせてマルチリストパラレルループを実現します.zip関数の簡単な紹介:完全な構文
ケース7:map()関数とmap関数を組み合わせた簡単な説明:完全な構文
ケース8:enumerate関数とenumerate関数を組み合わせて簡単に説明します.入力した反復可能なオブジェクトに反復器を返すために使用されます.構文:
三、循環制御
3.1 break
whileおよびforループでは、ループ文**全体(この行のループの次のループは終了しません)**を終了します.
ケース1:whileとbreakの結合
ケース2:forとbreakの結合
3.2 continue
whileとforサイクルで使用し、今回のサイクルを終了します.
3.3 pass
循環文、条件文、関数文に空を占め、文が完成することを保証し、後続のマスター部分の補充を待つ.
1.1簡単な概念
if...else...
およびif...elif...else...
の2つの形態によって、単純または複雑な決定を実現する.このうちelse
部分はオプションであり、else
がなければ条件を満たさない場合は何も実行しない.マルチif条件文では,1つの条件が真であれば判断を実行して終了する.if 1:
1
else 2:
2
if 1:
1
else 2:
2
elif 3:
3
python 3でifの後の判断文にはカッコを付ける必要があります.2.if条件は、コードが返すブール論理結果TrueまたはFalseに基づいて動作するか否かを判断する.例えば、ブール動作:
and、or、not
、比較動作:==、!=、>、=、<=
、メンバー動作:in、not in
、アイデンティティ動作:is、is not
である.3.pythonのpep符号化仕様に従って、pythonは4つのスペースでコード間のつながりを示します.たとえば、次のようにします.if Ture:
pass
1.2例
#coding:UTF-8
score=int(input(" :"))
if score<60:
print " "
elif 60<=score<80:
print " "
else:
print " "
and
またはor
を使用して論理式を接続する.A=Y if X else Z
で、if X:
A=Y
else:
A=Z
例:
#coding:UTF-8
def ifNull(string):
return "notNull" if len(string) > 0 else "null"
print ifNull("")
print ifNull("tyson")
二、循環文
2.1条件サイクル:while
and、or、not
、比較操作:==、!=、>、=、<=
、メンバー操作:in、not in
、アイデンティティ操作:is、is not
である.i+=1
が含まれることが多い.ケース:0から10までの数値加算結果num=0
sum=0
while num<10:
sum+=num
num+=1
print sum
result:
0
1
3
6
10
15
21
28
36
45
#coding:UTF-8
num=0
sum=0
while num<3:
sum+=num
num+=1
print sum
else:
print "down"
result:
0
1
3
down
正常でない終了(breakを使用)ではesle内の文は実行されません
#coding:UTF-8
num=0
sum=0
while num<5:
if num==3:
break
sum+=num
num+=1
print sum
else:
print "down"
result:
0
1
3
ただしcontinueを使用した場合、最後のループが実行されることを保証すればelse部分は実行されます
#coding:UTF-8
num=0
sum=0
while num<5:
if num==3:
num += 1
continue
sum+=num
num+=1
print sum
else:
print "down"
result:
0
1
3
7
down
2.2循環文:for
for x in y
.yは反復可能オブジェクトであり、xはfor文が反復可能オブジェクトyから取り出した各要素である.#coding:UTF-8
string="tyson"
for i in string:
print i.upper(),
result:
T Y S O N
ケース2:遍歴リスト
List=["tySon,LAOWANG,laoli"]
for i in List:
print i.title(),
result:
Tyson,Laowang,Laoli
ケース3:階乗計算
#coding:UTF-8
def jiecheng(num):
chengji=1
for i in range(1,num+1):
chengji*=i
return chengji
print jiecheng(5)
print jiecheng(3)
result:
120
6
ケース4:for文はelseと結合しており、最後のループが正常に終了した後に実行されます.whileとelseの結合と同じ場合
def jiecheng(num):
chengji=1
for i in range(1,num+1):
print " ",i," "
chengji*=i
else:
print "down"
print " :"
return chengji
print " ",jiecheng(5)
print " ",jiecheng(3)
result:
1
2
3
4
5
down
:
120
1
2
3
down
:
6
ケース5:range()と組み合わせて階乗を実現する.range関数の簡単な説明:完全な構文
range(start,end,step)
、stepは0ではなく、デフォルトは1です.書き方1:range(x,y)
は、xからy−1までの整数列を生成する.書き方2:range(y)
は0からy-1までの整数列を生成する. 。
ケース6:zip()文と組み合わせてマルチリストパラレルループを実現します.zip関数の簡単な紹介:完全な構文
zip(list1,list2)
、生成されたのは[(list1[0],list2[0]),(list1[1],list2[1]),(list1[n],list2[n]),]
、すなわち内蔵メタグループのリストである.#coding:UTF-8
list1=["tyson","laowang","laochen"]
list2=[21,25,28]
print "zip :",zip(list1,list2)
for x,y in zip(list1,list2):
print x,y
result:
zip : [('tyson', 21), ('laowang', 25), ('laochen', 28)]
tyson 21
laowang 25
laochen 28
ケース7:map()関数とmap関数を組み合わせた簡単な説明:完全な構文
map(f,iterable)
、map関数は反復可能なオブジェクトの各要素を関数処理に転送し、各処理の戻り値をリストに構成することができる(関数解析式で[f(x) for x in iterable]
を実装することもできる).関数がNoneの場合,map関数は並列解析を実現できる.#coding:UTF-8
list1=["tyson","laowang","laochen"]
list2=[21,25,28]
list3=["boy","boy","oldman"]
print "map ( None ):",map(None,list1,list2)
print "map ( None ):",map(None,list1,list2,list3)
for x,y in map(None,list1,list2):
print x,y
for x,y,z in map(None,list1,list2,list3):
print x,y,z
result:
map ( None ): [('tyson', 21), ('laowang', 25), ('laochen', 28)]
map ( None ): [('tyson', 21, 'boy'), ('laowang', 25, 'boy'), ('laochen', 28, 'oldman')]
tyson 21
laowang 25
laochen 28
tyson 21 boy
laowang 25 boy
laochen 28 oldman
ケース8:enumerate関数とenumerate関数を組み合わせて簡単に説明します.入力した反復可能なオブジェクトに反復器を返すために使用されます.構文:
enumerate( )
.#coding:UTF-8
list1=["tyson","laowang","laochen"]
print type(enumerate(list1))
for x,y in enumerate(list1):
print x,y
result:
<type 'enumerate'>
0 tyson
1 laowang
2 laochen
三、循環制御
3.1 break
whileおよびforループでは、ループ文**全体(この行のループの次のループは終了しません)**を終了します.
ケース1:whileとbreakの結合
n=0
while n<10:
if n==3:
break
print n
n+=1
result:
0
1
2
ケース2:forとbreakの結合
name="hello,world"
for i in name:
if i == ',':
break
print i,
result:
h e l l o
3.2 continue
whileとforサイクルで使用し、今回のサイクルを終了します.
name="hello,world"
for i in name:
if i == ',':
continue
print i,
result:
h e l l o w o r l d
3.3 pass
循環文、条件文、関数文に空を占め、文が完成することを保証し、後続のマスター部分の補充を待つ.
#coding:UTF-8
for i in "hello,world":
pass