流程控制

条件判断

1.if语句

  • 执行流程:
  • if语句在执行时会先对表达式进行判断。
  • 如果判断为True 则执行后面的语句
  • 如果为False 则不执行
  • 语法:if的条件表达式
    代码块
  • 代码块中保存着的一组代码,同一组代码块中的代码,要么都执行要么都不执行。
  • 代码块以缩进开始,直到恢复到最初的缩进级别结束。
  • 代码块就是一种分组机制

2.input函数

  • input就是一种输入函数,用来获取用户的输入
  • 当input被调用时程序会受到阻塞,暂停下来,等待用户输入。直到用户输入点击回车,程序才会继续进行。
  • 用户输入完成后,其输入的内容会以返回值的形返回。

3.if-else语句

  • 语法:if语句:
    代码块
    else:
    代码块
  • 执行流程:
  • if-else语句在执行时,会先对if后面的表达式进行判断。
  • 如果判断为True,则执行if后面的代码块。
  • 如果判断为False,则执行else后面的代码块。
a=3
b=4
if a>b:
    代码块
else:
    代码块

4.if-elif-else语句

  • 语法:
    if 条件表达式 :
    代码块
    elif 条件表达式 :
    代码块
    elif 条件表达式 :
    代码块

    else :
    代码块
value = 1000

if value >= 30000:

    print('有钱任性')

elif value >= 20000:

    print('有钱真好')

elif value >= 10000:

    print('哥也月薪上万了')

elif value >= 5000:

    print('工资还说的过去')

elif value >= 2000:

    print('能养活自己了')
else:
    print('吃土吧!你')
  • 执行流程:
  • if-elif-else语句在执行时,会自上向下依次对条件表达式进行求值判断,
  • 如果表达式的结果为True,则执行当前代码块,然后语句结束
  • 如果表达式的结果为False,则继续向下判断,直到找到True为止
  • 如果所有的表达式都是False,则执行else后的代码块
  • 总结: if-elif-else语句中只会有一个代码块会执行

循环语句

1.while语句

  • 循环语句可以使指定的代码块重复指定的次数.循环语句分成两种,while循环 和 for循环
  • 语法:
    while 条件表达式 :
    代码块
    else:
    代码块

2.break和continue

  • break 可以用来立即退出循环语句,包括else语句
  • continue 用来跳过当次循环

3.for循环遍历

  • 通过for循环来遍历列表
语法
for 变量 in 序列(遍历的规则):
    代码块
  • 注意: for循环的代码块会执行多次,序列中有几个元素就会执行几次。每执行一次就会将序列中的一个元素赋值给变量,所以我们可以通过变量来获取列表中的元素。

4.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)

循环嵌套

  • python语言许在一个循环体里面嵌入另一个循环。
while 表达式:
   while 表达式:
      代码块
   代码块

注意:python中严格控制缩进,缩进不当会影响程序。

小练习

  • 1.求1000以内的水仙花数。
for i in range(100,1000):
    a=int(i/100)
    b=int(i/10%10)
    c=int(i%10)
    if a**3+b**3+c**3==i:
        print(i)
        i+=1
  • 2.用户输入数字判断是否为质数。
while True:
    n=int(input('请输入:'))
    if n<2:
        print('不是质数')
        break
    else:
        for i in range (2,n):
            if n%i==0:
                print('不是质数')
            break
        else:
            print('是质数')
  • 3.猜拳小游戏
import random
print('猜拳游戏')
i=int(input('请输入石头(0)、剪刀(1)、布(2):'))
y=random.randint(0,3)
while 0<=i<=2:
    if y==0:
        if i ==0:
            print('平局')
        elif i==1:
            print('败北')
        else:
            print('胜利')
    if y==1:
        if i==0:
            print('胜利')
        elif i==1:
            print('平局')
        else :
            print('败北')
    if y==2:
        if i==0:
            print('败北')
        elif i==1:
            print('胜利')
        else:
            print('平局')
    break
else:
    print('输入错误')