005-Python语法 运算符与三种基本结构

运算符

01. 算数运算符
  • 是完成基本的算术运算使用的符号,用来处理四则运算

在这里插入图片描述

  • 在 Python 中 * 运算符还可以用于字符串,计算结果就是字符串重复指定次数的结果
In [1]: "-" * 50
Out[1]: '----------------------------------------' 
02. 比较(关系)运算符

在这里插入图片描述

03. 逻辑运算符

在这里插入图片描述

a = True
print(a and 'a = T')  # a = T

Python把0、空字符串’’、None看成False,其他数值和非空字符串都看成True

print('a = T' or 'a = R')  # a = T

逻辑运算需要特别注意的是 and 和 or 运算时会发生短路现象
当 and 运算时,左边如果是False时,and 右边代码不再执行了
当 or 运算时,右边如果是True时,or 右边代码不再执行了

04. 赋值运算符
  • 在 Python 中,使用 = 可以给变量赋值
  • 在算术运算时,为了简化代码的编写,Python 还提供了一系列的 与 算术运算符 对应的 赋值运算符
  • 注意:赋值运算符中间不能使用空格
    在这里插入图片描述
05. 运算符的优先级
  • 以下表格的算数优先级由高到最低顺序排列

在这里插入图片描述

三种基本结构

  • 在程序开发中,一共有三种基本结构,也叫三种流程方式:
    • 顺序 —— 从上向下,顺序执行代码
    • 分支 —— 根据条件判断,决定执行代码的 分支
    • 循环 —— 让 特定代码 重复 执行

01. 顺序结构

代码从上向下,顺序执行代码

name = '小明'
weight = '90公斤'
sex = '男'
print('姓名是%s,性别是%s,体重是%s' % (name, sex, weight))
02. 选择结构
选择结构的定义
  • 选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程
  • 如果 条件满足,才能做某件事情,
  • 如果 条件不满足,就做另外一件事情,或者什么也不做

比如我去北京,我可以选择坐飞机,也可以选择坐火车,也可以选择走路

1) if 判断语句基本语法

Python 中,if 语句 就是用来进行判断的,格式如下:

if 要判断的条件:
    条件成立时,要做的事情
    ……

注意:代码的缩进为一个 tab 键,或者 4 个空格 —— 建议使用空格

i = 10
if i > 2:
    print('我是最帅的')
print('打的去北京')
2) if-else 判断语句基本语法
if 要判断的条件:
    条件成立时,要做的事情
    ……
else:
    条件不成立时,要做的事情
    ……
i = 1
if i > 2:
    print('我是最帅的')
else:
    print('你们是最帅的')

print('打的去北京')
# 判断变量 f 是否存在

if 'f' in dir():
    print('变量存在')
else:
    print('变量不存在')
3) if-elif……-else 判断语句基本语法
# 一栋楼5层,一次只能按一个楼层
i = int(input('请按楼层:'))
if i == 2:
    print('他去2楼')
elif i == 3:
    print('他去3楼')
elif i == 4:
    print('他去4楼')
else:
    print('他去5楼')
4) if语句的嵌套使用
if 条件1if 条件2print('满足条件1,同时满足条件2')
    else:
        print('满足条件1,但是不满足条件2')
else:
    print('不满足条件1')

猜拳游戏1

player = int(input('请出拳,剪刀(1)、石头(2)、布(3)'))
# 假设电脑只会出剪刀1
computer = 1
if computer == player:
    print("平局")
elif player == 1 and computer == 2 or \
                        player == 2 and computer == 1 or \
                        player == 3 and computer == 2:
    print("耶,赢啦")
else:
    print("不行,我要跟你决战到天亮")

猜拳游戏2

  • Python 中,要使用随机数,首先需要导入 随机数模块 —— “工具包”

    import random
    
  • 导入模块后,可以直接在 模块名称 后面敲一个 . 然后按 Tab 键,会提示该模块中包含的所有函数

  • random.randint(a, b) ,返回 [a, b] 之间的整数,包含 ab

  • 例如:

    random.randint(12, 20)  # 生成的随机数n: 12 <= n <= 20   
    random.randint(20, 20)  # 结果永远是 20   
    random.randint(20, 10)  # 该语句是错误的,下限必须小于上限
    
    import random
    
    player = int(input('请出拳,剪刀(1)、石头(2)、布(3)'))
    # 假设电脑只会出剪刀1
    computer = random.randint(1, 3)
    if computer == player:
        print("平局")
    elif player == 1 and computer == 2 or \
                            player == 2 and computer == 1 or \
                            player == 3 and computer == 2:
        print("耶,赢啦")
    else:
        print("我要跟你决战到天亮")
    
03. 循环结构

循环结构,用来描述重复执行某段算法的问题 。循环结构可以看成是一个条件判断语句和一个向回转向语句的组合。

1) while 语句基本语法
初始条件设置
while 条件(判断条件是否为True):
    条件满足时,做的事情1
    条件满足时,做的事情2
    条件满足时,做的事情3
    ...(省略)...
    
    处理条件(计数器 + 1)

注意

  • while 语句以及缩进部分可以看成是一个 完整的代码块
# 小明上课看小人书,罚跑操场5圈
i = 1
while i <= 5:
    # 要重复执行的代码
    print("小明跑完第%d圈" %i)

    i = i + 1
无限循环

无限循环就是循环里面条件永远都是为 True,无止尽的循环下去!也叫死循环
程序员在写代码的时候,不小心,也容易写出死循环,死循环很消耗内存,容易死机挂掉

利用循环求和
  • 计算 0 ~ 100 之间所有整数的和
# 计算 0 ~ 100 之间所有数字的累计求和结果

# 0. 定义一个变量存放计算结果
result = 0

# 1. 定义循环的变量
i = 0

# 2. 开始循环
while i <= 100:
    # 循环体

    # 每一次循环,都让 result 这个变量加上 i 这个值
    result += i

    # 循环变量值处理
    i += 1

print("0~100之间整数的和是 = %d" % result)

  • 计算 0 ~ 100 之间所有偶数的和
result = 0

# 1. 定义循环的变量
i = 0

# 2. 开始循环
while i <= 100:
    # 循环体

    # 每一次循环,判断这个数是否是偶数
    if i % 2 == 0:
        result += i

    # 循环变量值处理
    i += 1

print("0~100之间整数的和是 = %d" % result)
2) break 和 continue

breakcontinue 是专门在循环中使用的关键字

  • break 某一条件满足时,退出循环
  • continue 某一条件满足时,只是结束本次循环
    打个比方,有个人上6天班,循环6次。某天生病请假,病好了继续上班就是用continue;某天一睡不醒了,那就彻底不来上班了就是用break

在循环过程中,满足某个条件后只是结束本次循环,使用 continue

i = 1

while i <= 6:

    # 当星期三时生病请假一天
    if i == 3:

        i += 1

        # continue 之前要记得时间变成星期四,否则一直在星期三死循环
        continue

    # 重复执行的代码
    print(i)

    i += 1

在循环过程中,满足某个条件后需要彻底退出循环,使用 break

i = 1

while i <= 6:

    # 星期三这天一睡不醒了,彻底不用上班了,break
    if i == 3:
        break

    print(i)

    i += 1

print("over")
3)while 循环嵌套

while 嵌套就是:while 里面还有 while

while 条件 1:
    条件满足时,做的事情1
    条件满足时,做的事情2
    条件满足时,做的事情3
    ...(省略)...
    
    while 条件 2:
        条件满足时,做的事情1
        条件满足时,做的事情2
        条件满足时,做的事情3
        ...(省略)...
    
        处理条件 2
    
    处理条件 1

循环嵌套演练 —— 九九乘法表

print 函数的用法

  • 在默认情况下,print 函数输出内容之后,会自动在内容末尾增加换行

  • 在使用print时,如果不希望换行,在使用 print 函数时,第二参数给 end=""

  • end=""可以添加\t,表示输出一个 制表符,协助在输出文本时 垂直方向 保持对齐

  • end=""可以添加\n,表示输出一个 换行符

  • 语法格式如下:

# 向控制台输出内容结束之后,不会换行
print("*", end="")

# 单纯的换行
print("")

end="" 表示向控制台输出内容结束之后,不会换行

第 1 步:使用循环嵌套打印小星星
  • 在控制台连续输出9行 *,每一行星号的数量依次递增
# 定义第一行开始循环
row = 1
# 总共循环 9 次
while row <= 9:
    # 定义每行第一列开始输出 *
    col = 1
    # 每行一个列输出一个 * ,一共输出几列,就看 col <= row 条件是否满足
    while col <= row:
        # 输出 * 不换行
        print("*", end="")
        col += 1
    row += 1
    # 只换行
    print("")
  • 使用字符串 * 打印
# 1. 定义一个计数器变量,从数字1开始,循环会比较方便
row = 1

while row <= 5:

    print("*" * row)

    row += 1

第 2 步: 九九乘法表

需求 输出 九九乘法表,格式如下:

1 * 1 = 1	
1 * 2 = 2	2 * 2 = 4	
1 * 3 = 3	2 * 3 = 6	3 * 3 = 9	
1 * 4 = 4	2 * 4 = 8	3 * 4 = 12	4 * 4 = 16	
1 * 5 = 5	2 * 5 = 10	3 * 5 = 15	4 * 5 = 20	5 * 5 = 25	
1 * 6 = 6	2 * 6 = 12	3 * 6 = 18	4 * 6 = 24	5 * 6 = 30	6 * 6 = 36	
1 * 7 = 7	2 * 7 = 14	3 * 7 = 21	4 * 7 = 28	5 * 7 = 35	6 * 7 = 42	7 * 7 = 49	
1 * 8 = 8	2 * 8 = 16	3 * 8 = 24	4 * 8 = 32	5 * 8 = 40	6 * 8 = 48	7 * 8 = 56	8 * 8 = 64	
1 * 9 = 9	2 * 9 = 18	3 * 9 = 27	4 * 9 = 36	5 * 9 = 45	6 * 9 = 54	7 * 9 = 63	8 * 9 = 72	9 * 9 = 81

开发步骤

    1. 将每一个 * 替换成对应的行与列相乘
# 定义第一行开始循环
row = 1
# 总共循环 9 次
while row <= 9:
    # 定义每行第一列开始输出 *
    col = 1
    # 每行一个列输出一个 * ,一共输出几列,就看 col <= row 条件是否满足
    while col <= row:
        # 输出 * 不换行
        print("%d * %d = %d" % (row, col, row * col), end="\t")
        col += 1
    row += 1
    # 只换行
    print("")
2) for 语句基本语法

for跟while一样也可以实现循环,在Python中for循环可以遍历任何序列的项目,如一个列表(下节课会讲)或者一个字符串

for 临时变量 in 字符串或列表等:
    执行代码块1
    执行代码块2
    执行代码块3
    ...(省略)...
str = "I love you,china"
for temp in str:
    print(temp)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序员buddha2080

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

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

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

打赏作者

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

抵扣说明:

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

余额充值