草の根学Python(五)条件文と循環文

12095 ワード

前言
初めて学習グループを作りました.しかもPythonの学習グループです.これまで深く勉強したり、仕事をしたりしていましたが、最近Pythonを勉強して、本当に楽しかったので、微信グループを作りました.子供靴たちがグループに入って学習討論してほしいです.私の微androidwedを直接加えてグループに入れることもできます.Gitbookでの文章の不足も歓迎します.
Python学習グループ
目次
草の根学Python(五)条件文と循環文
一、条件文
Python条件文は他の言語とほぼ一致しており,いずれも1つ以上の文の実行結果(TrueまたはFalse)によって実行されるコードブロックを決定する.
Pythonプログラム言語は、0以外の値とnull以外の値がTrue、0またはnullがFalseであることを指定します.
実行されるフローチャートは次のとおりです.
if文フローチャート
1、if文の基本形式
Pythonではif文の基本形式は以下の通りです.
if     :
        ……
else:
        ……

前述したように、Python言語には厳格なインデント要件があるため、ここでもインデントに注意し、24,5679142というコロンを少なく書かないようにしなければならない.
if文の判断条件は、その関係を>(より大きい)、=(より大きい)、<=(より小さい)で表すことができる.
例:
# -*-coding:utf-8-*-

results=59

if results>=60:
    print ('  ')
else :
    print ('   ')

出力された結果は次のとおりです.
   

上にも述べたように、非ゼロ値、非空文字列、非空リストなどは、Trueと判断し、そうでなければFalseとする.そのため、次のように書くこともできます.
num = 6 
if num :
    print('Hello Python')

2、if文複数の判断条件の形式
時には、私たちの判断文が2つしかないわけではありません.時には複数が必要です.例えば、上記の例では60以上が合格しています.では、90以上が優秀で、80から90の間の良好さを判断しなければなりません.
この場合if文の複数の判断条件を用いる必要があり、
疑似コードで表します.
if     1:
        1……
elif     2:
        2……
elif     3:
        3……
else:
        4……

例:
# -*-coding:utf-8-*-

results = 89

if results > 90:
    print('  ')
elif results > 80:
    print('  ')
elif results > 60:
    print ('  ')
else :
    print ('   ')

出力の結果:
  

3、if文複数条件同時判断
PythonはJavaのようにswitch文がないので、複数の条件判断はelifでしか実現できませんが、複数の条件が同時に判断される必要がある場合はor(または)を使用して、2つの条件が1つ成立した場合に判断条件が成功することを示します.and(と)を用いた場合,2つの条件が同時に成立した場合にのみ判断条件が成功することを示す.
# -*-coding:utf-8-*-

java = 86
python = 68

if java > 80 and  python > 80:
    print('  ')
else :
    print('   ')

if ( java >= 80  and java < 90 )  or ( python >= 80 and python < 90):
    print('  ')

出力結果:
   
  

注意:ifに複数の条件がある場合はカッコを使用して判断の前後順序を区別することができ、カッコ中の判断は優先的に実行され、またandとorの優先度は>(より大きい)、
二、循環文
一般的なプログラミング言語にはループ文があり、ループ文では1つの文または文グループを複数回実行できます.
ループ文の一般的な形式は次のとおりです.
pythonループ文
Pythonはforループとwhileループを提供しています.もちろん、ループを制御する文もあります.
ループ制御文
説明
break
文ブロックの実行中にループを終了し、ループ全体から飛び出します.
continue
文ブロックの実行中に現在のループを終了し、そのループから飛び出して次のループを実行します.
pass
passは空の文であり,プログラム構造の整合性を保つためである.
1、While循環文
count = 1 
sum = 0
while (count <= 100):
    sum = sum + count
    count = count + 1
print(sum)

出力の結果:
5050

もちろんwhile文にはもう2つの重要なコマンドcontinueがあります.breakはループをスキップし、continueはこのループをスキップし、breakはループを終了するために使用されます.
たとえば、上記の例は1から100のすべての整数の和を計算し、sumが1000より大きいと判断する必要がある場合、加算しない場合はbreakを使用してループ全体を終了することができます.
count = 1 
sum = 0
while (count <= 100):
    sum = sum + count
    if ( sum > 1000):  #  sum    1000        
        break
    count = count + 1
print(sum)

出力の結果:
1035

時には、私たちは1から100の間の奇数和を統計したいだけです.つまり、countが偶数、つまり双数のとき、私たちは今回のループを飛び出す必要があります.追加したくないので、breakを使うことができます.
count = 1 
sum = 0
while (count <= 100):
    if ( count % 2 == 0):  #        
        count = count + 1
        continue
    sum = sum + count
    count = count + 1
print(sum)

出力文:
2500

Pythonのwhileループでは、else文を使用することもできます.while...elseは、ループ条件がfalseの場合にelse文ブロックを実行します.
例:
count = 0
while count < 5:
   print (count)
   count = count + 1
else:
   print (count)

出力の結果:
0
1
2
3
4
5

2、forループ文
forループは、リストや文字列などの任意のシーケンスのアイテムを巡回できます.
そのフローチャートは基本的に以下の通りです.
forループのフローチャート
基本的な構文形式:
for iterating_var in sequence:
   statements(s)

例:
for letter in 'Hello    ':
    print(letter)

出力の結果は次のとおりです.
H
e
l
l
o

 
 
 

while...else文があります.もちろんfor...else文もあります.forの中の文は普通の文と変わりません.elseの中の文はループが正常に実行されます(つまり、forはbreakジャンプで中断されたものではありません).while...elseも同じです.
for num in range(10,20):  #    10   20      
   for i in range(2,num): #       
      if num%i == 0:      #        
         j=num/i          #        
         print ('%d      ' % num)
         break            #       
   else:                  #     else   
      print ('%d      ' % num)

出力の結果:
10      
11      
12      
13      
14      
15      
16      
17      
18      
19      

3、ネストループ
Python言語では、あるループに別のループを埋め込むことができます.上記の例もネストループを使用していますが、ここでは例を示しません.
具体的な文法は以下の通りです.
forループネスト構文
for iterating_var in sequence:
   for iterating_var in sequence:
      statements(s)
   statements(s)

whileループネスト構文
while expression:
   while expression:
      statement(s)
   statement(s)

それ以外に、whileサイクルにforサイクルを埋め込むなど、サイクル内に他のサイクルを埋め込むこともできます.逆に、forサイクルにwhileサイクルを埋め込むことができます.
三、条件文と循環文の総合例
1、九九乗算表を印刷する
# -*- coding: UTF-8 -*-

#        
for i in range(1, 10):
        for j in range(1, i+1):
            #      ,           (       )     .format()       ,      
            print('{}x{}={}\t'.format(i, j, i*j), end='')  
        print()

出力の結果:
1x1=1   
2x1=2   2x2=4   
3x1=3   3x2=6   3x3=9   
4x1=4   4x2=8   4x3=12  4x4=16  
5x1=5   5x2=10  5x3=15  5x4=20  5x5=25  
6x1=6   6x2=12  6x3=18  6x4=24  6x5=30  6x6=36  
7x1=7   7x2=14  7x3=21  7x4=28  7x5=35  7x6=42  7x7=49  
8x1=8   8x2=16  8x3=24  8x4=32  8x5=40  8x6=48  8x7=56  8x8=64  
9x1=9   9x2=18  9x3=27  9x4=36  9x5=45  9x6=54  9x7=63  9x8=72  9x9=81

2、閏年かどうかを判断する

#        

year = int(input("       : "))
if (year % 4) == 0 and (year % 100) != 0 or (year % 400) == 0:
    print('{0}    ' .format(year))
else:
     print('{0}     ' .format(year))