流程控制if、while、for

一 if

if 条件1:

    缩进的代码块

  elif 条件2:

    缩进的代码块

  elif 条件3:

    缩进的代码块

  ......

  else:  

    缩进的代码块

 

二 while

不用写重复代码又能让程序重复一段代码多次呢? 循环语句就派上用场啦

while 条件:    
    # 循环体
 
    # 如果条件为真,那么循环体则执行,执行完毕后再次循环,重新判断条件。。。
    # 如果条件为假,那么循环体不执行,循环终止

continue和break

死循环

import time
num=0
while True:
    print('count',num)
    time.sleep(1)
    num+=1   

嵌套循环

tag=True  #tag用来控制循环的退出很有用

  while tag:

    ......

    while tag:

      ........

      while tag:

        tag=False


例如: 给3次机会猜年龄
age=20
tag=1

while tag<4:
guess_age=int(raw_input("please input age:"))
tag+=1
if guess_age>age:
print("you guess right")
break
else:
print("you guess wrong")
continue


例如: 三级菜单(while 多层嵌套的使用),输入除了"quit"和"quit_all"的任意字符串会进入下一层循环,输入quit返回上一层,输入quit_all退出所有循环.
tag=True #tag 在这里控制所有循环的退出

while tag:
print("Level1")
choice=raw_input("level1>>:")
if choice == "quit": break
if choice == "quit_all": tag=False

while tag:
print("Level2")
choice = raw_input("level2>>:")
if choice == "quit": break
if choice == "quit_all": tag = False

while tag:
print("Level3")
choice = raw_input("level1>>:")
if choice == "quit": break
if choice == "quit_all": tag = False



 

三 for

1 迭代式循环:for,语法如下

  for i in range(10):

    缩进的代码块

2 break与continue(同上)

3 循环嵌套

九久乘法表

for i in range(1,10):
    for j in range(1,i+1):
        print('%s*%s=%s' %(i,j,i*j),end=' ')
    print()
金字塔

#分析
'''

             #max_level=5
    *        #current_level=1,空格数=4,*号数=1
   ***       #current_level=2,空格数=3,*号数=3
  *****      #current_level=3,空格数=2,*号数=5
 *******     #current_level=4,空格数=1,*号数=7
*********    #current_level=5,空格数=0,*号数=9

#数学表达式
空格数=max_level-current_level
*号数=2*current_level-1

'''

#实现
max_level=5
for current_level in range(1,max_level+1):
    for i in range(max_level-current_level):
        print(' ',end='') #在一行中连续打印多个空格
    for j in range(2*current_level-1):
        print('*',end='') #在一行中连续打印多个空格
    print()

打印金字塔

 

posted @ 2018-03-21 15:13  你的泪我的眼  阅读(135)  评论(0编辑  收藏  举报