千锋Python2304班8.30笔记-day03

01-运算符

1.算术运算符:+、-、*、/和//、%、**

1)一元运算符: 正负号 +17 -89

2)二元运算符

加法+
减法-
乘法*
除法/和//
取余%
幂数**
a = 17
b = 6
print('加法', a + b)
print('减法', a - b)
print('乘法', a * b)
print('除法', a / b)  # 结果是浮点型的
print('向下整除', a // b)   # 有一个向下取整的操作: 结果是<=商 且最接近于商的整数
print('取余', a % b)  # 两数相除 获取余数
print('幂数x的y次方', a ** b)
加法 23
减法 11
乘法 102
除法 2.8333333333333335
向下整除 2
取余 5
幂数x的y次方 24137569

3)优先级别😗*幂数>负号>乘、除、余>加减

提高运算符的优先级别,使用()包含,不管多少层都是()

2.复合赋值运算符:+=、-=、*=、/=、//=、%=、**=

1)简单赋值运算符:=

a =10
print(a)  # 10

2)复合赋值运算符:+=、-=、*=、/=、//=、%=、**=

num = 125
num -= 15  # num=num-15=125-15 (num=110)
print(num)
num %= 4   # num=num%4=110%14((num=2)
print(num)

3.比较运算符:>(大于)、>=、<、<=、==、!=

>判断前者是否大于后者
>=判断前者是否大于或者等于后者
<判断前者是否小于后者
<=判断前者是否小于或者等于后者
==判断前者是否等于后者
!=判断前者是否不等于后者

比较运算符运行结果是布尔类型的,结果只有两个值True和False

算术运算符优先级别高于比较运算符

a = 17
b = 9
res = a + b > b * 2
print(res)  # True
res = a - b <= a % b
print(res)  # True
# 判断一个数据是否是偶数  偶数:能被2整除【除以2余数为0】
num = 17
res = num % 2 == 0
print(res)  # False
# 1.判断一个数的个位数是否为7
# 思路:获取数据的个位数  除以10 取余数 比如 17除以10 商1 余7    16除以10商1余6
res = num % 10 == 7
print(res)  # True
# 2.如何获取十位上的数据????
# 可以将十位上的数 处理成个位上的数  ===== 整除10    245//10 = 24
# 将处理后的结果对10取余   24 % 10=4
# 判断一个数据是否是奇数  除以2余1
res = num % 2 == 1
print(res)
res = num % 2 != 0
print(res)

4.逻辑运算符:and(逻辑与运算),or(逻辑或运算), not(逻辑非运算)

运算逻辑符中 not > and > or

and逻辑与运算连接的条件必须同时成立
or逻辑或运算连接的条件成立其中一个即可
not逻辑非运算对条件结果进行取反操作,真变假,假变真
# 1.输入一个数,判断这个数是否是3的倍数并且也是7的倍数
num = float(input("请输入一个数:"))
res = num % 3 == 0 and num % 7 ==0
print ( res )
# 2.输入一个数,判断这个数的十位是否为2的倍数并且各位是否是3的倍数
num = float(input("请输入一个数:"))
decade = num // 10 % 10
unit = num % 10
res = (decade % 2 ==0 and decade != 0 ) and (unit % 3 == 0 and unit != 0)
print ( res )
# 1.判断输入的数据是否是3或者5的倍数
num = int (input("请输入一个整数:"))
res = num % 3 == 0 or num % 5 ==0
print ( res )
# 2.判断输入的月份是否是30天
month = int (input("请输入一个月份:"))
res = month == 4 or  month == 6 or month == 9 or  month == 11
print ( '输入的月份是否是30天的结果',res )

# 1.判断一个数是否不为正数
num = int (input("请输入一个整数:"))
res = not (num > 0)
print ( res )
# 2.输入一个月份,判断其是否在1-12之间
month = int(input("请输入一个月份:"))
res = not (month < 1 or month > 12 )
print( '输入的月份是否在1-12之间的结果',res )

区间形式的范围判断,python可以对其进行简写

res=1<=monh<=12

5.成员运算符:in、not in

整数、小数、布尔值、空值 每个数据都是独立的个体,这些都不是容器型数据`

字符串是一个容器型类型,元素是字符

s = 'hello'
res = 'h' in s
print(res) # True
res = 'hl' in s
print(res) # False
res = 'hl' not in s
print(res) # True

02-流程控制语句

1. 顺序结构语句

特点:代码会从第一行到最后一行逐行运行【每条语句都会执行到】

2.分支结构语句

特点:按照逻辑条件满足与否,决定逻辑操作是否运行 【比如游戏星星数达到3颗才能进入下一关】

3.循环结构语句

特点:没有满足某个条件,就需要一直执行相应的逻辑操作

03-分支结构语句

1.单分支结构

1)解释:在顺序流程过程中,检测数据是否达到某个状态点 如果达到这个状态点按照状态点的流程进行操作,如果没有达到的话 按照原流程进行操作

2)语法:

if 条件:
满足条件执行的操作

3)解读: 如果条件满足,就执行相应的操作
4)注意: 相应的操作的执行,要看条件是否满足,体现这种关系使用的是代码块包含的结构
Python中如何体现代码块包含: 使用冒号+四个空格的缩进 【一般编辑器会默认一个tab键 就是四个空格】

print('从学校出发')
# 需要记录当前的时间点
hour = 17
# 要求 时间在18点之前 进行洗车的操作
if hour < 18:
    print('洗车店洗车')
print('回到家中')

2.双分支结构

1)解释:相当于十字路口,是向左还是向右

2)语法:

if 条件:
满足条件执行的操作
else:
不满足条件执行的操作

3)解读:如果条件满足 做事情A 否则做事情B

# 做一个成绩判定器: 判断输入的成绩是及格还是不及格
score = float(input('成绩:'))
if score >= 60:
    print('及格')
else:
    print('不及格')

3.多分支结构

1)解释:出现了3种以上的选择

2)语法:

if 条件1:
操作1
elif 条件2:
操作2

elif 条件n:
操作n
else:(以上条件都不满足 执行的操作,这个else语句可以省略)

3)解读:elif ==== else if(如果与否则是对立面, 执行了如果 就不会执行否则)

# 给成绩分等级
"""
    >=90  A
    >=80  B
    >=70  C
    >=60  D
    <60   E
"""
score = float(input('请输入成绩:'))
if score >= 90:
    print('A')
elif score >= 80:  # score 肯定是小于90
    print('B')
elif score >= 70:  # score < 80
    print('C')
elif score >= 60:
    print('D')
else:
    print('E')

练习

# 1.超市活动,购买金额不足180,支付原金额;在180以上,打八折,金额在三百以上,打六折
pay = float(input('请输入购买金额:'))
if pay <= 180:
    print(pay)
elif pay >= 180 and pay <= 300:
    print(pay * 0.8)
elif pay > 300:
    print(pay * 0.6)
# 2.做一个数据比较器:根据输入的两个数。获取其中的最大值
num1 = float(input('数字1:'))
num2 = float(input('数字2:'))
if num1 > num2:
    print(num1)
else:
    print(num2)
# 3.录入一个人的身高(单位是m)与体重(单位是kg), 根据bmi=体重/(身高的平方),求出这个人的bmi值
"""
<18.5 偏瘦
在18.5到24.9之间正常
>24.9 偏胖
"""
height=float(input("请输入你的身高(m) :"))
weight=float(input("请输入你的体重(Kg) :"))
bmi = (weight /(height * height))
if bmi < 18.5:
    print("偏瘦")
elif bmi >= 18.5 and bmi <=24.9:
    print("正常")
elif bmi > 24.9:
    print("偏胖")
# 4.模拟用户登录:录入用户名与密码,如果用户名为admin,密码为123456abc,则提示登录成功,否则提示登录失败
username = input('用户名:')
passage = input('密码:')
if username == "admin" and passage == "123456abc":
    print('登录成功')
else:
    print('登录失败')

4.分支语句嵌套

在满足某个条件的基础上还需要再次进行逻辑判断

"""
需求:
    计算加油的金额
    因为油号不同 价格不同 优惠也是不一样
    92  单价8元/L   添加30L及其以上  打8折 否则按照原价处理
    95  单价8.8元/L  添加25L及其以上  打8折  否则按照原价处理
    98  单价9.5元/L   添加20L及其以上  打9折  25L及其以上8.5折  30L及其以上8折 否则按照原价处理
"""
oil_num = int(input('请输入油号:'))
litre = float(input('加油的升数(L): '))
# 判断油号
if oil_num == 92:
    if litre >= 30:
        payment = 8 * litre * 0.8
    else:
        payment = 8 * litre
elif oil_num == 95:
    # pass  # 代码块必须有内容  当前没有写逻辑可以使用pass占位
    if litre >= 25:
        payment = 8.8 * litre * 0.8
    else:
        payment = 8.8 * litre
else:
    # pass  # 空白代码块的占位符
    # if litre >= 30:
    #     payment = 9.5 * litre * 0.8
    # elif litre >= 25:
    #     payment = 9.5 * litre * 0.85
    # elif litre >= 20:
    #     payment = 9.5 * litre * 0.9
    # else:
    #     payment = 9.5 * litre
    if litre < 20:
        payment = 9.5 * litre
    elif litre < 25:
        payment = 9.5 * litre * 0.9
    elif litre < 30:
        payment = 9.5 * litre * 0.85
    else:
        payment = 9.5 * litre * 0.8

print(oil_num, '号油添加', litre, '升的油价是', payment)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值