Python运算符与表达式、流程控制

1、表达式

• 表达式由一个或多个操作数通过操作符组合而成。
• 最简单的表达式仅包含一个字面值常量或变量。

2、运算符

在这里插入图片描述

2.1 算数运算符

python2 与python3 的区别 :
python2里面只有 地板除 ,要想真除,只能转化为浮点数相除
python3 是真除,结果是多少就是多少。

在这里插入图片描述

2.1 赋值运算符

在这里插入图片描述

2.3 比较运算符

在这里插入图片描述

2.4 逻辑运算符

哪些为假
0, ’ ', 0.0,None, False
(), [],{} 空元组、列表、字典、集合

and
前面的是真,返回后面的值;
前面的是假,返回前面的值
or
前面的是真 ,返回前面的值
前面的是假,返回后面的值

  • 三个运算符在存在同一个表达式中,运算优先级一样
>>> result = 3 and print("4") and print("5") and 6
4 
>>> print(result)  #and左侧为假,短路后面所有的运算
None
>>> result = 3 and print("4") and print("5")  or 7
4                
>>> print(result) #or左侧为true,短路后面所有的运算
7

在这里插入图片描述

  • 判断是否以abc开头,也可以用函数.startwith()
>>> str1="efberu"
>>> str1[0:3] == "efb"  and  "OK" or "error"
'OK'
>>> str1[0:3] == "abc"  and  "OK" or "error"
'error'

2.5 成员关系运算符

在这里插入图片描述

2.6 对象实例测试运算符

在这里插入图片描述

>>> a = 500     缓冲池机制【-5,256】,当数字在这个整数池内,赋值时地址直接指向这个数的地址
>>> b = 500
>>> a == b   判断值是否相等
True
>>> a is b   判读引用地址是否一样
>>>False
>>> a = b = 500
>>> a  == b
True
>>> a is b
True
>>> id(a)   查看引用地址
140517644890992
>>> id(b)
140517644890992

2.7 位运算符

转换成二进制再比较
& 俩边都是1 才为1,其他的都是0
| 有一个是1就为1

在这里插入图片描述
练习:判断水仙花/整数/开平方
1、判断是否为水仙花数
2、判断一个数是否是整数
3、判断一个数开平方后大于10

n = int(input("请输入一个100~999之间的整数:"))
a = n // 100
b = n % 100 // 10
c = n % 10
print(n == a ** 3 + b ** 3 + c ** 3 and "是水仙花数" or "不是水仙花数")
num %1 == 0
num = int(input("请输入一个数:"))
print(num ** 0.5 > 10 and "开平方后大于10" or "开平方后小于等于10")

2.8 运算符优先级

在这里插入图片描述

3、流程控制

选择语句if:

在这里插入图片描述

练习:儿童弹珠游戏

在这里插入图片描述

import random
# 产生12个[0, 1]的int数值
data = [random.choice([0, 1]) for i in range(12)]
#  radom.choices("01",k=12)
print("亮灯情况:", data)
# 产生1个 [1-12]之间的随机数
n = random.randint(1, 12)
print(f"打中了第{n}个球")
# 判断data的第n 为是否为0
if data[n - 1] == 0:
    print("你赢了")
else:
    print("你输了")

循环语句for:

在这里插入图片描述
break 结束当前循环,不开启下一次循环
continue 跳出本次循环,后面的不继续运行了。开启下一次循环

练习: 出现次数最多的字符
str1 = "safbeourfbjhdbcsjdh"
# 定义俩个变量去存储出现的字符和次数
tmp_str = ""
max_num = 0
for i in str1:
    if str1.count(i) > max_num:
        max_num = str1.count(i)
        tmp_str = i
print(tmp_str, max_num)
for i in range(3):
    if i == 5:
        break
else:
    print("正常循环完毕,会执行else里面的")

循环语句while:

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

这个手刹不太灵儿

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

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

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

打赏作者

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

抵扣说明:

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

余额充值