关于Python的流程控制语句

关于Python的流程控制语句

在开始之前有几点需要说明:

 1  以下所有程序运行版本为 python 3.1.2(版本不同,代码可能无法正常运行,如:输出函数print随版本不同而不同)!

 2  在C、PHP等语言的语法中规定,必须以分号作为语句结束的标识。Python也支持分号,同样用于一条语句的结束标识。但在Python中的分号可以省略,主要通过换行来识别语句的结束

 3 对于Python而言,代码缩进是一种语法,Python语言中没有采用花括号或begin...end...分隔代码块,而是使用冒号和代码缩进来区分代码之间的层次。(即{ -------->:)(另外:每一块中必须得有能执行的语句,不能为空或注释,当然可以使用关键字‘pass’来表示空语句块)

 4   与C、PHP语言不同,Python不支持自增运算符和自减运算符。例如,i++、i--是错误的语句,但是类似i+=1的语句是允许的

 5   python的流程控制语句与C,PHP的有很大程度上不一样(如:表达式两侧的括号也可以省略)。

 6  实质上:python 与 JavaScript非常相似,都是解释执行,而且语法结构也有很多相似之处。

<1>If语句:

a = 23
b = 2
if a == b:
    print ('a == b') #注意:Python 3之后print 成了个内置函数,而不在是语言结构
elifa < b:#(不是elseif)
    print ('a < b') #注意:每一个分块内必须得有相应的能执行的语句(注释也不行),如果要留空,请使用关键字“pass”

else:
    print ('a > b')
print ('Done!')

以上语句注意:

1 elif和else从句都必须在逻辑行结尾处有一个冒号,下面跟着一个相应的语句块(当然还包括正确的缩进)。

2 elif: 不是elseif,事实上把两个相关联的if else-if else语句合并为一个if-elif-else语句。

3 表达式两侧的括号可以省略,一般Python代码中都没有加。

(另外:在Python中没有switch语句。你可以使用if..elif..else语句来实现相同的工作,不过如何实现switch,以后会说到)

类比PHP中:


$a = 23;
$b = 2;
if ($a==$b):
   echo 'a==b';
elseif ($a < $b):
   echo 'a < b';
else:
   echo 'a >b';
endif;
#或者:
if($a==$b){
   echo 'a==b';
}elseif($a < $b){  #这里elseif 与else if 都可行
    echo 'a < b';
}else{
  echo 'a >b';
}


<2>While语句:

#while
a = 60
running = True #TRUE OR true 都不是合法的
while (running):
    b= int(input('Please input b :'))#在3.0 中版本去掉了raw_input 函数,改用input。
    if (a > b):
        print('a > b')
    elif (a < b):
        running = False #为了避免死循环
        print('a < b')
    else:
        print('a == b')
else:
     print('The while loop is over')
     
print('Done')

以上语句注意:

1 其中else子句可以省略,事实上是else多余的,因为你可以把其中的语句放在同一块(与while相同)中,表达式两侧的括号也可以省略。

2 当条件过多时,一定要注意代码缩进与冒号。

3 循环语句中,不是特殊情况,不要出现死循环

4 注意Python中bool 类型的写法:True ,而TRUE OR true 都是不合法的 

5程序中使用了input()和int()函数,

  input:C语言中使用scanf()和getchar()捕获用户输入,Python也提供了类似功能的函数:input()和raw_input()(不过,3.0过后去掉了raw_input 函数,改用input)。

 int: 程序中使用input函数后返回的一个字符串。但a的值是一个数字,所以我们通过int把这个字符串转换为整数,并把它存储在变量b中。事实上,int是一个类。


<3>For语句

#for
array = range(1,10)
for i in array:
#这里不能加括号eg:(i in array) 这样是错误的
    print (i)
else:
    print ('The for loop is over')

以上语句注意:

1 其中else子句可以省略,事实上是else多余的,但是注意表达式两侧的不能加括号。

2 这里使用了range 函数,产生一个序列 数。用法为:range([start], stop[, step]) step指的是步长。(这与PHP里的range函数用法类似)

3 Python的for循环从根本上不同于C/C++的for循环(Python不支持C/C++的for循环格式)。你可能注意到Python的for循环与PHP(C#)中的foreach循环十分类似。如果你要实现类似C/C++中的for循环功能,如:(实现for(i=0;i<5;i++))  你可这样做:

(1)采用while循环:

i =0    
while i<5:
    print(i)
    i +=1 
#注意python不支持自增运算

(2)采用for + range循环:

for i in range(0,5,1):#这里,最后一个1是步长,即如C++的for变为:for(i=0;i<5,i+=2),则步长就变为2,即可
    print (i)


<4>Break语句(continue)

for i in range(0,5):

    print (i)

    if i >= 3:

        break;

else:

    print('for loop break over666'); #这条语句没有被执行

print ('Out of for')

以上语句注意:

1 当你从 for或while循环中 终止 时,任何对应的循环else块将不执行

continue 用法与C,PHP等语言中的一样。


符:所有代码例子:

#!/user/bin/python

#Filename:test.py

 

#注意:Python 3之后print 成了个内置函数,而不在是语言结构

#PHP print is not actually a real function(it is a language construct)

print ('hello world\r\n heheh')

 

#''' 相当于PHP中的定界符<<<

print ('''

who am i? you see \n

kwg kwg i'm "fsdfsd"

''')

 

#Python中的对象(另外:在Python中也没有像php,c等语言里有的语句结束符";")

i=5

print (i)

i = i+1 #i++ 报错

print (i)

 

s = '''

    This is a multi-line string.

    this is the second line.'''

print (s)

 

#表达式

a = 5

b = 3

area = a * b

print ('Area is',area)

print ('Perimerter is',2*(a+b))

#这里的逗号“,”与PHP中的echo语句结构中的作用类似

#

#   $a = 56321;

#   echo 'arwe is',$a;

#不过,在Python中它会自动在那里放了一个空格(这一点确实很好)

 

#流程控制语句(与PHP有很大不同)

#if

a = 23

b = 2

if a == b:

    print ('a == b')

elif a < b: #(不是elseif)

    print ('a < b')

else:

    print ('a > b')

    

print ('Done!')

 

#while

a = 60

running = True #TRUE OR true 都不是合法的

while (running):

    b= int(input('Please input b :'))#在3.0 中版本去掉了raw_input 函数,改用input。

    if (a > b):

        print('a > b')

    elif (a < b):

        running = False #为了避免死循环

        print('a < b')

    else:

        print('a == b')

else:

     print('The while loop is over')

     

print('Done')

 

#for

array = range(1,10)

for i in array: #这里不同加括号eg:(i in array) 这样是错误的  

 

    print (i)

else:

    print ('The for loop is over')

 

#实现for(i=0;i<5;i++)

#方一    

i =0    

while i<5:

    print(i)

    i +=1  #注意python不支持自增运算

#方二

for i in range(0,5,1):#这里,最后一个1是步长 

    print (i)

 

 

#while

for i in range(0,5,1):#这里,最后一个1是步长 

    print (i)

    if i >= 3:

        break;

else:

    print('for loop break over666'); #这条语句没有被执行

print ('Out of for')   

你可能感兴趣的:(python)