python基础之 流程控制

流程控制方法的使用极大的增强了程序的执行能力,使得程序能像人一样,能够判断条件并根据结果来执行一系列任务。流程控制包括 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中,返回一个可迭代对象。

posted @ 2019-05-21 16:21  呔!妖精。。。  阅读(116)  评论(0编辑  收藏  举报