python多个条件循环_python基础7-条件&循环

前面我们已经把所有的Python数据结构说完了,从现在起就开始讲程序的执行逻辑了,因为程序不可能每个执行语句都要顺序执行,正是有了这些条件或循环的执行逻辑,才体现出了算法,之前看过书编程书的人都知道,程序是什么?其实程序就是数据+算法,我们了解了数据,再加上了解程序的执行逻辑,就能写出复杂的程序来,这些执行逻辑每个语言都有,就是语法稍有不同而已,所以我们来看看在Python语言里怎么实现条件和循环。

1、条件语句:If/else

if 条件:

执行语句

1

2

if条件:

执行语句

这是最简单的用法,只有条件为真时才执行后面的语句。

if 条件:

执行语句1

else:

执行语句2

1

2

3

4

if条件:

执行语句1

else:

执行语句2

这是加了else的表达方式,如果条件为真执行语句1,否则就执行语句2,注意在条件和else后面都有一个冒号(:),这是Python的语法要求,因为python下没有了大括号,完全是用缩进方式来区分代码块,所以回车换行语句前面要有空格(一般是4个空格),另外如果条件后只有一个单一的语句可以写成用一行来表示:

if 条件: 执行语句

1

if条件:执行语句

注意条件这里可以是单个表达式也可以是多个表达式,如果是多个表达式就需要用and,or和not连接起来,分别表示与或非关系,例如:

>>> a = 1

>>> b = 2

>>> if a == 1 and b == 2:

... print a+b

...

3

1

2

3

4

5

6

>>>a=1

>>>b=2

>>>ifa==1andb==2:

...printa+b

...

3

条件语句的多重语句判断elif,它检查多个表达式是否为真,如果为真就执行对应的代码块,例如:

if 条件1:

语句1

elif 条件2:

语句2

elif 条件3:

语句3

else:

其它语句

1

2

3

4

5

6

7

8

if条件1:

语句1

elif条件2:

语句2

elif条件3:

语句3

else:

其它语句

2、循环语句: while, for

while语句功能跟shell里的while基本一样,当条件为真时会一直执行相应的代码块,直到条件为假时结束,例如:

#!/usr/bin/python

count = 0

while count < 5:

print count, " is less than 5"

count = count + 1

else:

print count, " is not less than 5"

1

2

3

4

5

6

7

8

#!/usr/bin/python

count=0

whilecount<5:

printcount," is  less than 5"

count=count+1

else:

printcount," is not less than 5"

执行结果:

0 is less than 5

1 is less than 5

2 is less than 5

3 is less than 5

4 is less than 5

5 is not less than 5

1

2

3

4

5

6

0islessthan5

1islessthan5

2islessthan5

3islessthan5

4islessthan5

5isnotlessthan5

这个语句跟我们之前学的基本一样,不过多讲了,大家可以自己写几个列子测试下,唯一需要注意的地方是使用while循环时主要循环的结束,避免写成死循环。

下面介绍下我们使用最多的for循环,如果接触过shell里的for循环,再看python的for循环就很容易上手,因为都属于是枚举型循环,使用for循环非常容易遍历一个序列对象,例如遍历列表,字典,元组等。

#!/usr/bin/python

fruits = ['banana', 'apple', 'mango']

for index in range(len(fruits)):

print 'Current fruit :', fruits[index]

print "Good bye!"

##运行结果##

Current fruit : banana

Current fruit : apple

Current fruit : mango

Good bye!

1

2

3

4

5

6

7

8

9

10

11

12

13

#!/usr/bin/python

fruits=['banana','apple','mango']

forindexinrange(len(fruits)):

print'Current fruit :',fruits[index]

print"Good bye!"

##运行结果##

Currentfruit:banana

Currentfruit:apple

Currentfruit:mango

Goodbye!

这种方式是通过列表的索引来遍历列表,range函数可以生成自然数序列,运行结果:

1

如果需要把索引也打印出来可以用enumerate函数,如下:

#!/usr/bin/python

fruits = ['banana', 'apple', 'mango']

for index,ef in enumerate(fruits):

print '%d %s' % (index+1, ef)

print "Good bye!"

##运行结果##

1 banana

2 apple

3 mango

Good bye!

1

2

3

4

5

6

7

8

9

10

11

12

13

#!/usr/bin/python

fruits=['banana','apple','mango']

forindex,efinenumerate(fruits):

print'%d %s'%(index+1,ef)

print"Good bye!"

##运行结果##

1banana

2apple

3mango

Goodbye!

3、break,continue语句

break语句是结束当前循环去执行后面的语句,break可以立刻从while和for循环中退出来,例如:

#!/usr/bin/python

for letter in 'Python':

if letter == 'h':

break

print 'Current Letter :', letter

####################################################

var = 10

while var > 0:

print 'Current variable value :', var

var = var -1

if var == 5:

break

print "Good bye!"

##执行结果##

Current Letter : P

Current Letter : y

Current Letter : t

Current variable value : 10

Current variable value : 9

Current variable value : 8

Current variable value : 7

Current variable value : 6

Good bye!

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

#!/usr/bin/python

forletterin'Python':

ifletter=='h':

break

print'Current Letter :',letter

####################################################

var=10

whilevar>0:

print'Current variable value :',var

var=var-1

ifvar==5:

break

print"Good bye!"

##执行结果##

CurrentLetter:P

CurrentLetter:y

CurrentLetter:t

Currentvariablevalue:10

Currentvariablevalue:9

Currentvariablevalue:8

Currentvariablevalue:7

Currentvariablevalue:6

Goodbye!

continue语句是当遇到continue语句时程序终止当前的循环,不在执行后续的语句,然后回到循环的顶端进行判断,如果条件为真或有元素可迭代,然后进行下一次的循环,例子如下:

#!/usr/bin/python

for letter in 'Python':

if letter == 'h':

continue

print 'Current Letter :', letter

###############################################

var = 10

while var > 0:

var = var -1

if var == 5:

continue

print 'Current variable value :', var

print "Good bye!"

##执行结果##

Current Letter : P

Current Letter : y

Current Letter : t

Current Letter : o

Current Letter : n

Current variable value : 9

Current variable value : 8

Current variable value : 7

Current variable value : 6

Current variable value : 4

Current variable value : 3

Current variable value : 2

Current variable value : 1

Current variable value : 0

Good bye!

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

#!/usr/bin/python

forletterin'Python':

ifletter=='h':

continue

print'Current Letter :',letter

###############################################

var=10

whilevar>0:

var=var-1

ifvar==5:

continue

print'Current variable value :',var

print"Good bye!"

##执行结果##

CurrentLetter:P

CurrentLetter:y

CurrentLetter:t

CurrentLetter:o

CurrentLetter:n

Currentvariablevalue:9

Currentvariablevalue:8

Currentvariablevalue:7

Currentvariablevalue:6

Currentvariablevalue:4

Currentvariablevalue:3

Currentvariablevalue:2

Currentvariablevalue:1

Currentvariablevalue:0

Goodbye!

条件和循环语句就介绍到这里,下篇我们介绍下Python的函数,喜欢的小伙伴请帮忙转发下。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值