条件控制语句

条件判断

条件判断语句(if语句)

  • 执行的流程:
    • if 语句在执行时,会先对条件表达式进行求值判断,
    • 如果为True,则执行 if 后的语句
    • 如果为False,则不执行
  • 语法:
    if a == 1 : # a == 1 --> 条件表达式
    	print('a等于1') # --> 代码块
    
  • 代码块中保存着一组代码,同一个代码块中的代码,要么都执行要么都不执行
  • 代码块以缩进开始,直到代码恢复到之前的缩进级别时结束
  • 代码块就是一种为代码分组的机制

input() 函数

  • 该函数用来获取用户的输入
  • input() 调用后,程序会立即暂停,等待用户输入
  • 用户输入完内容以后,点击回车程序才会继续向下执行
  • 用户输入完成以后,其所输入的的内容会以返回值得形式返回

if-else语句

  • 语法:
    if a == 1 : # a == 1 --> 条件表达式
    	print('a等于1') # --> 代码块
    else :
    	print('a不等于1') # --> 代码块
    
  • 执行流程:
    • if-else 语句在执行时,先对if后的条件表达式进行求值判断
    • 如果为True,则执行if后的代码块
    • 如果为False,则执行 else 后的代码块

if-elif-else 语句

  • 语法:
    value = 2000
    
    if value >= 30000:
    	print('有钱任性')
    elif value >= 5000:
    	print('工资还说的过去')
    else:
    	print('能养活自己了')
    
  • 执行流程:
    • if-elif-else 语句在执行时,会自上向下依次对条件表达式进行求值判断,
    • 如果表达式的结果为True,则执行当前代码块,然后语句结束
    • 如果表达式的结果为False,则继续向下判断,直到找到True为止
    • 如果所有的表达式都是False,则执行else后的代码块
  • 总结: if-elif-else 中只会有一个代码块会执行

循环控制

while语句

循环语句

  • 循环语句可以使指定的代码块重复指定的次数.循环语句分成两种,while 循环 和 for 循环
  • 语法:
    while a == 1 : # a == 1 --> 条件表达式
    	print('a等于1') # --> 代码块
    elseprint('a不等于1') # --> 代码块
    

break和continue

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

for循环

for循环遍历

  • 语法:
    for letter in 'Python': # letter --> 变量, 'Python' --> 序列(遍历的规则)
    	print '当前字母 :', letter # --> 代码块
    

    注意:

    1. for 循环的代码块会执行多次,序列中有几个元素就会执行几次。每执行一次就会将序列中的一个元素赋值给变量,所以我们可以通过变量来获取列表中的元素。
    2. print()自带换行 print(self, *args, sep=’ ‘, end=’\n’, file=None),默认end=’\n’转义字符

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)
  • 实例
    >>>range(10)        # 从 0 开始到 10
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> range(1, 11)     # 从 1 开始到 11
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    >>> range(0, 30, 5)  # 步长为 5
    [0, 5, 10, 15, 20, 25]
    >>> range(0, 10, 3)  # 步长为 3
    [0, 3, 6, 9]
    >>> range(0, -10, -1) # 负数
    [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
    >>> range(0)
    []
    >>> range(1, 0)
    []
    

循环嵌套

  • Python 语言允许在一个循环体里面嵌入另一个循环。
    while 表达式:
       while 表达式:
          代码块
       代码块
    
    for 变量 in 循环规则:
       for 变量 in 循环规则:
           代码块
       代码块
       ```
    

作业

  1. 求1000以内所有的水仙花数

    for num in range(100, 1000):
       a = num % 10  # 个位
       b = num // 10 % 10  # 十位
       c = num // 100  # 百位
       if num == pow(a, 3) + pow(b, 3) + pow(c, 3):
           print(num)  # 结果 153 370 371 407
    

    拓展: pow() 方法返回 x y x^y xy(x 的 y 次方) 的值。

  2. 获取用户输入的任意数,判断其是否是质数?

    num = int(input('请输入一个任意数'))
    if num > 1:
        for i in range(2, num):
            if (num % i) == 0:
                print(num, "不是质数")
                print('{0}*{1}={2}'.format(i, num // i, num))
                break
        else:
            print(num, "是质数")
    else:
        print(num, "不是质数")
    
  3. 猜拳游戏:

    • 出拳 玩家:手动输入 电脑:随机输入
    • 判断输赢: 玩家获胜 电脑获胜 平局
    import random  # 导入 random(随机数) 模块
    
    go = 'y'
    while go == 'y':
        go = 'n'
        num = int(input('请出拳(0:石头,1:剪刀,2:布)'))
        if 0 <= num <= 2:
            robot = random.randint(0, 2)  # 生成 0 ~ 2 之间的随机数
            print('玩家出的是:{0}'.
                  format('石头' if num == 0 else ('剪刀' if num == 1 else '布')))
            print('电脑出的是:{0}'.
                  format('石头' if robot == 0 else ('剪刀' if robot == 1 else '布')))
            if num == robot:
                print('平局')
            elif num == 0:
                if robot == 1:
                    print('玩家获胜')
                else:
                    print('电脑获胜')
            elif num == 1:
                if robot == 2:
                    print('玩家获胜')
                else:
                    print('电脑获胜')
            elif num == 2:
                if robot == 0:
                    print('玩家获胜')
                else:
                    print('电脑获胜')
            go = input('是否继续(y/n)')
        else:
            go = input('请输入0、1、2进行游戏,是否继续(y/n)')
    
  4. 9*9算法表

    • 9*9算法表
    i = 1
    while i < 10:
        j = 1
        while j - i <= 0:
            print('%s*%s=%2s ' % (j, i, i * j), end=' ')
            j += 1
        i += 1
        print()
    

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Q小松

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值