码迷,mamicode.com
首页 > 其他好文 > 详细

05 流程控制

时间:2018-12-08 21:11:54      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:连接   内容   用法   返回   要求   控制   span   nbsp   迭代   

流程控制方法的使用极大的增强了程序的执行能力,使得程序能像人一样,能够判断条件并根据结果来执行一系列任务。流程控制包括 if判断、while循环和for循环。

一、流程控制之if判断

1.基本语法:

语法1:在if后面加上判断条件,如果条件满足就执行if语句内的代码块

if条件:
    缩进代码块
 
语法2:if和else连用,else上面的所有条件都不满足时,就会执行else下的代码块。

if条件:
    缩进代码块
else:
    缩进代码块
    ...
 
语法3:if和elif,else连用,elif用来连接多个条件的判断,else上面的所有条件都不满足时,就会执行else下的代码块。

if条件1:
    缩进代码块
elif条件2:
    缩进代码块
elif条件3:
    缩进代码块
else:
    缩进代码块
    ...
 
语法4:if嵌套,在一个if语句的子代码块里再次使用if判断

if条件1:
    if条件2:
        缩进代码块
    缩进代码块
技术分享图片
score = input(your score>>: )
score = int(score)
if score >= 90:
    print(优秀)
elif score >= 75:
    print(良好)
elif score >= 60:
    print(及格)
else:
    print(很差
if实现判断成绩

 

二、流程控制之while循环

if判断只能执行一次,如果想要多次执行一段代码,直到满足要求才停止,就需要用到while循环。

1.while循环:条件循环

while 条件:

    缩进代码块

i = 0
while i < 5:
    print(i)
    i += 1

while后面是判断条件,当条件满足时(True),会执行子代码块,执行完子代码块时,会再次判断条件是否满足,如果满足,继续执行,如此循环。为了不让程序陷入死循环,通常会添加一段代码(比如 i+=1 这样的计数器)来控制循环。

2.while+break:   break代表结束本层循环,即会无条件终止其所在循环,并且放弃执行这个循环中break下方的代码,然后跳出这个循环。

name=lalal
pwd=123
while True:
    input_name=input(name:)
    input_pwd=input(password:)
    if input_name == name and input_pwd == pwd:
        print(login successful)
        break
    else:
        print(username or password error)

 

3.while+continue:     continue代表结束本次循环,直接进入下一次,即不执行本次循环中continue下方的代码,回到判断条件。

while True:
    num1 = int(input("give me a number>>>"))
    if num1 < 5:
        print("被break终止")
        break
    else:
        print("遇到了continue")
        continue

 

4.while+else:与其他语言不同的是,while循环后也可以加else,当while语句正常执行完,没有被break,就会执行else里的语句。即else的子代块只有在while循环没有被break打断的情况下才会执行

技术分享图片
row = 1
while row <6:
    rank = 0
    while rank<(5-row):
        print(" ",end="")
        rank+=1
    print("*"*(2*row-1))
    row+=1
金字塔

杨辉三角

斐波那契数列

 

三、流程控制之for循环

for循环的底层原理实际是迭代循环(迭代器会在函数内容中提到),只要是可迭代对象,for循环都可以将其中的值遍历出来。

for循环可以对常见的字符串、列表、字典使用,而不用依赖索引。for循环与while循环相比,不需要索引,而且用法上也更加精简。而且for和while循环一样也可以嵌套,与break、continue、else连用。

1.语法

for i in range(10):
   缩进的代码块

当循环对象是一个字典时,取到的是key

 

2.while循环 VS  for循环

    1)while循环:称之为条件循环,循环的次数取决于条件何时为False.

    2)for循环:称之为...循环,循环的次数取决于数据包含的元素的个数

    3)for循环专门用来取值,在循环取值方面比while循环要强大,以后但凡遇到循环取值的场景,就应该用for循环。

3.for+break

4.for+continue

5.for+else

6.for循环的嵌套:

  for i in range(3):

    for i in range(2):

      print(i,j)

外层循环执行一次,内层循环要执行全部.

技术分享图片
for i in range(1,10):
    for j in range(1,i+1):
        print("%s * %s = %s" % (j,i,i*j),end="\t")
    print()
打印九九乘法表

 

range()函数接收三个参数,start, stop, step。

  • start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
  • stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
  • step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

在python2中,range()返回一个列表,而在python3中,返回一个可迭代对象。

 

05 流程控制

标签:连接   内容   用法   返回   要求   控制   span   nbsp   迭代   

原文地址:https://www.cnblogs.com/dongzhihaoya/p/10088891.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!