天天看点

python中的条件判断与循环

条件判断

if语句是一个神奇的语句,他可以帮助大家进行一些判断,根据判断的结果来完成相应的指令。让我们来一起看看他的神奇之处吧。

>>>birth_year = int( input( '请输入你的出生年份' ) );
>>>if birth_year >= 2000:
>>>	print('00后你好呀');
>>>elif birth_year >= 1990:
>>>	print('90后你好呀');
>>>elif birth_year >= 1980:
>>>	print('80后你好呀');
>>>else :
>>>	print('大叔你好呀');
'请输入你的出生年份' 1996
90后你好
           

需要说明的是input()函数的返回类型是str,而str不能直接和整型进行比较,因此需要先把str借助int()函数变成整型,再和整数进行比较。

由于if语句执行的特点是由上至下,即先会执行最上面的判断,如果满足条件语句,后面的elif和else都不会执行。如果不满足的话才会逐一往下执行,例

>>>birth_year = int( input( '请输入你的出生年份' ) );
>>>if birth_year >= 1990:
>>>	print('90后你好呀');
>>>elif birth_year >= 2000:
>>>	print('00后你好呀');
>>>elif birth_year >= 1980:
>>>	print('80后你好呀');
>>>else :
>>>	print('大叔你好呀');
'请输入你的出生年份' 2006
90后你好
           

注意:      冒号‘:’和缩进会构成了一个代码块,也就是说,当执行冒号':'的时候,会一通执行后面缩进的语句。

循环

在python中,有两种循环,一种是适用于列表list[]或元组tuple()的for ... in ...语句;另一种就是while语句。

执行以下的代码块

group = [ 'Liming' , 'Wanghai' , 'Zhangfang' ];
for n in group:
	print( n )
           

输出为:

Liming
Wanghai
Zhangfang
           

由此可知   for n in ...循环就是挨个找出list的元素并放入n中,从而完成所有元素的循环迭代。

有了循环,我们就可以完成高斯求和函数了,让我们一起来做一下1+2+...50的结果吧。python为我们提供了有个有趣的函数range()。比如range(1,5)就是生成1到4的整数,先利用range()产生整数后再将其转换为list,就可以使用for x in ...语句了。

执行以下的代码块

sum = 0 ;
for n in list( range(1 , 51) ):
	sum = sum +n ;
print('1+2+..+50的结果是%d'%sum)
           

输出为

1+2+..+50的结果是1275
           

看了这么些循环,是不是觉得for循环还是有些抽象?不要急,Python作为一种后来居上的语言,在很多方面都考虑到了“对其他语言的兼容性”,是不是想像C那样来实现逐个循环?不要急,让我们一起来看一看enmoerate()函数吧

# -*- coding: utf-8 -*-
aaa = [ 'Liming' , 'Wanghai' , 'Zhangfang' ] ;
for  j , k in enumerate( aaa ):
	print(j) ;
	print(k) ;
           
python中的条件判断与循环

另外一种是while,只要条件满足,while循环就会一直执行下去

sum = 0 ;
n = 50
while n > 0:
	sum = sum + n ;
	n = n - 1 ;
print( sum );
           

break

break语句的功能是结束循环

continue

continue语句的功能是跳出本次循环,执行下一次循环。但是break和continue能不用就不要用,因为当分支很多时往往会带来许多不必要的麻烦。