2.数学运算符的基础知识点

1.数学运算符

1.数学运算符:

+(加),—(减),*(乘),/(除),%(求余数,取模),//(整除)

1)+,-,*,/ 和数学中的+ - * /的功能是一模一样的.

print(2+3)
print(3-2)
print(3**2)
print(9/3)
2.(%) --求余数,取摸
# x%y	--x除以y的余数
print(10%2)
# 应用:判读一个数是否能被另外一个数整除(看余数是否为0)
print(15%5)	#运行结果为:3(余数为0)
# 应用2:取低位数	--(对10或者10的幂次方取余)
num = 2334
print(2334&10)	#运行结果为4(取得个位上的4)
print(2334&100)	#运行结果为3(取得十位上的3)
3. // --整除
x // y	--x除以y的商像小取整
num = 10
print(num//3)	#3 3.3 4,最终结果取3
#应用:正整数去低位
num = 233489
print(num// 100)	#2334
# 练习1:获取指定的正整数的十位数
num = 43232
print(num//10%10)
# 练习2:获取指定的正整数的百位数
num = 43232
print(num%1000//100)

# 4. ** - 幂运算
# x**y -求x的y次方
print(1 ** 2)
print(5 ** 3)
print(2.2**2)

2.比较运算符

  • 比较运算符:>(大于),<(小于),>=(大于等于),<=(小于等于),==(等于),!=(不等于)
  • 重要结论:所有比较运算的运算结果都是布尔
print(10>20)    #false
print(10<20)    #true
print(10>=20)   #false
print(10==20)   #false
# python中的比较运算符,可以像数据一样通过连写来表示范围
age = 20
print(18<=age<25)   #true

3.逻辑运算符:

1.逻辑运算符:
  1. and(逻辑与运算符),or(逻辑或运算),not(逻辑非)
# 2.and	-	逻辑与运算
"""
1)应用场景:相当于生活中的并且,用于连接需要同时满足多个条件
2)运算规则:两个都是true那么结果就是true,只要有一个是false,结果就是false
条件1 and 条件2
true and true # true
true and false # false
false and true #false
false and False #False
"""
#练习:写出一个数能同时被3和7整除
num = 21
#条件1:能被3整除	-num%3==0
#条件2:能被7整除	-num%7==0
print("是否能同时被3和7整除",num%3==0 and num%7==0)
# 3.or	-逻辑或运算
"""
1)应用场景:相当于生活当中的,用于需要多个条件只要有一个条件满足就能成立
2)运算规则:只要条件当中有一个成立(True)就是True,两个都为False,结果才是False
True or True #True
True or False #True
False or True #True
False or False #False
"""
#拿奖学金的条件:绩点高于4或者操评分不低于95
gpa = 4.0
score = 96
print("判断是否可以拿奖学金",gpa>4 or score>95)

#练习:判断指定的年是否是闰年
# 普通的闰年:能被4整除但是不能被100整除 year%==0 and year%100! = 0
# 世纪闰年:能被400整除 year% == 0
# 被4整除:year%4 == 0
# 不能被100整除:year%100 != 0
# 能被400整除:year%400 == 0
year=2001
print("判断是否是闰年",year%4==0 and year%100!=o)or(year%400 == 0)

# 3)逻辑非
# not 条件	- 否定条件
"""
1)应用场景:对指定的条件进行否定(取反)。一般用于正向条件情况多很复杂,反向条件却很简单的时候,条件就反向写然后加 not
2)运算规则: True变False,False变True
not True	#False
not False 	#True
"""
# 年龄大于18: age>18
# 年龄不大于18:age<=18,not age>18
num = 18
print(num==18)
print(not num==18,num!=18)
# 练习:写出一个不能同时被3和7整除的条件
# 能被3整除不能被7整除	num%3==0 and num%7 != 0
# 能被7整除不能被3整除
# 既不能被3整除也不能被7整除
print(not num % 21 == 0)

2.逻辑运算符的扩展 --运算对象不是布尔值
""
数据1 and 数据2	- 如果数据1的布尔值是true,结果就是数据2,否则结果是数据1
数据1 or 数据2	- 如果数据1的布尔值是true,结果就是数据1,否则结果就是数据2
"""
print8 and 7#7
print(10 and 6)	#6
print(0 and 8)	#0

print(6 or 9)	#6
print(2 or 5)	#2
print(0 or 10)	#10
# (特别重要)
# 1)数据的布尔值	-	数据转成布尔的结果
# python中所有类型的数据都有布尔值
# 所有的零值和空值对应的布尔值是False,其他数据布尔值都是True
# 常见的零值和空值: 0、0.0、0.00、''、""、[]、()、{}、None
print(bool(0), bool(0.0), bool(''))   # False False False
print(bool(12), bool(-9.454), bool('ban'))    # True True True
# 2).短路操作
# 条件1 and 条件2   -   如果条件1是False,那么条件2不会执行
# 条件1 or 条件2    -   如果条件1是True, 那么条件2不会执行
False and print('与运算的条件2')
True or print('或运算的条件2')

4.赋值运算符

1.赋值运算符
# 赋值运算符:=、+=、-=、*=、/=、%=、//=、**=
# (重要!)重要结论:所有的赋值运算的功能都是给变量赋值,不会产生一个结果。(赋值运算的表达式没有结果)
# 所有的赋值运算符的左边必须是变量
a = 10
10 > 20
# print(a = 10)    # 报错
print(10 > 20)

# 1. =
# 定义变量或者重新给变量赋值的时候使用
name = 20
num = 10 * 20

# 2. +=、-=、*=、/=、%=、//=、**=
# 要求:赋值符号前面的变量必须是已经定义过变量
# 变量 += 数据   -> 变量 = 变量 + 数据
b = 10
b += 2
print(b)    # 12

b -= 3
print(b)   # 9

b **= 2
print(b)    # 81

b %= 2
print(b)   # 1

2.运算符的优先级
# 数学运算符 > 比较运算符 >逻辑运算符 > 赋值运算符
# ** >*,/,%,//,>,+,-
# 有括号先算括号里面的

5.分支结构

1.流程控制
'''
1) 顺序结构     -代码从上往下执行,每条语句执行一次.
2) 分支结构     -代码的执行看条件是否成立(if语句)
3)循环结构      -让代码重复(for,while)
'''
2.if的分支结构
# 1)if单分支结构 -满足条件执行某个操作,条件不满子就不执行.
# 2)else:	- 不满足条件执行的执行的操作
"""
语法:
if 条件语句:
    代码段
    
说明
if      -   关键字,固定写法
条件      -   任何有结果的表达式, 例如:数据,运算表达式(赋值运算除外)
:       -   固定写法
代码段     -   就是和if保持一个锁紧的一条或者多条语句(至少一条);就是需要满足条件才执行的代码
执行过程
先判断条件是否为True(如果条件语句的结果不是布尔,就转换成布尔看看),如果为True就执行代码,否则代码不执行
"""
a = 100
if a>10:
    print(a,"代码1")
    print(a,"代码1")
    print(a,"代码1")

print(a,"代码1")

# 练习:如果指定的数是偶数就打印”偶数“
num = 20
if num%2==0:
    print("打印偶数")
# (了解)
if not num%2:
    print("偶数")
# 如果指定的数是奇数打印奇数
num =11
if num % 2 !=0:
    print("打印奇数",num%3)

# 练习2.判断指定的数据是否是水仙花数

num = 153
ge = num%10
shi = num//10%10
bai = num//100%10
if ge**3+shi**3+bai**3 ==num:
    print("打印水仙花")
# 2)if双分支结构 -
# 如果 xxx就xxx,否则xxx
"""
if 条件语句:
    代码段1(满足条件执行)
else:
    代码段2(条件不满足的时候才执行代码)
代码段3(不管条件满足还是不满足都要执行)
    
"""
# 练习:根据年龄值打印成年或者未成年
age =28
if age>=18:
    print("已经成年")
else :
    print("未成年")

# 3)if多分支结构 - 根据不同条件做不一样的事
# if-elif-elif..-elif
"""
if 条件语句:
    代码段1(满足条件执行)
elif:
    代码段2(条件不满足的时候才执行代码)
elif:
    代码段3(条件不满足的时候才执行代码)
...
elif:
    代码段N
    
前提:多个条件中如果其中一个条件满足,其他的条件结对不会满足


"""
# 练习:讲指定的分数分为A(90分以上)/B([80,90]分以上)/C[60,80)/D(60以下)四个等级
score = 80

if score>=90:
    print("A")
elif score>=80:
    print("B")
elif score>=60:
    print("C")
elif score:
    print("D")

课后作业:

选择题

  1. print(100 - 25 * 3 % 4) 应该输出什么? (b)

    A. 1

    B. 97

    C. 25

    D. 0

  2. 下列哪种说法是错误的(a)。

    A. 除字典类型外,所有标准对象均可以⽤于布尔测试

    B. 空字符串的布尔值是False

    C. 空列表对象的布尔值是False

    D. 值为0的任何数字对象的布尔值是False

  3. 下列表达式的值为True的是(b)。

    A. 3>2>2

    B. 1 and 2 != 1

    C. not(11 and 0 != 2)

    D. 10 < 20 and 10 < 5

  4. Python不⽀持的数据类型有(a)。

    A. char

    B. int

    C. float

    D. list

  5. (多选)n = 6784,以下能够获取到7 的⽅法有(b.c)。

    A. n / 1000 % 100

    B. n % 1000 / 100

    C. n // 100 % 10

    D. n // 10 % 100 // 10

  6. 运⾏以下程序,当从键盘上输⼊12,运⾏结果是(a)。

    x = (input())
    print(type(x))
    

    A. <class 'str'>

    B. <class 'int'>

    C. 出错

    D. <class 'dict'>

  7. 下列表达式的运算结果是(d ) 。

    a = 100
    b = False
    print(a * b > -1)
    

    A. False

    B. 1

    C. 0

    D. True

填空题

  1. 查看变量中数据的类型的函数名是(type)。
  2. 已知 x = 3 == 3 ,执⾏结束后,变量x的值为(true)。
  3. 已知 x = 3 ,那么执⾏语句 x += 6 之后,x的值为(9)。
  4. 表达式 3 ** 2 的值为(9),表达式 3 * 2 的值为(6),表达式 4 ** 0.5 的值为(2)。

编程题

  1. 写出判断⼀个数是否能同时被2和5整除的条件语句, 并且打印对应的结果。

    num = 24
    if num%2==0 and num%5==0:
        print("可以同时被2和5整除")
    else:
        print("不可以同时被2和5整数")
    
    
    
  2. 写出判断⼀个数是否能够被2或者5整除,但是不能同时被2或者5整除的条件语句, 并且打印对应

    的结果。

    num = 20
    if (num%2==0 and num%5!=0) or (num%2!=0 and num%5==0):
        print("能被2和5整除")
    else:
        print("不能同时被2或5整除")
    
    
  3. 假设今天的上课时间为15678秒,编程计算今天上课时间是多少⼩时,多少分钟,多少秒;以‘XX

    时XX分XX秒’的⽅式表示出来。

    例如:100秒表示成 0时1分40秒

    
    time = 15678
    shi = time // 3600
    fen = time % 3600 // 60
    miao = time % 60
    print(shi, '时', fen, '分', miao, '秒')
    
    
    
  4. 定义两个变量保存⼀个⼈的身⾼和体重,编程实现判断这个⼈的身材是否正常!

    公式: 体重(kg) / (身⾼(m)的平⽅值 ) 在18.5 ~ 24.9之间属于正常。

    输出格式: 是否正常:True/False

    weight = 50
    height = 1.55
    if 18.5 <= weight / height**2 <= 24.9:
        print('正常')
    else:
        print('不正常')
    
    
    
  5. 根据输入的成绩的范围打印及格 或者不及格

    score = 89
    if score >= 60:
        print('及格')
    else:
        print('不及格')
    
  6. 根据输入的年纪范围打印成年或者未成年,如果年龄不在正常范围内(0~150)打印这不是人!

    age = int(input('请输入年龄:'))
    # 方法一:
    if 18 <= age < 150:
        print('成年')
    elif 0 < age < 18:
        print('未成年')
    else:
        print('这不是人!')
    
  7. 输入两个整数a和b,若a-b的结果为奇数,则输出该结果,否则输出提示信息a-b的结果不是奇数

    a = 89
    b = 34
    if (a - b) % 2 == 1:
        print(a - b)
    else:
        print(a-b, '不是奇数')
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值