IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python基础知识之运算符与分支 -> 正文阅读

[Python知识库]Python基础知识之运算符与分支

运算符与分支

运算符

  1. 数学运算符,包括:+、-、*、/、%(取余数、取模)、//(整除)、**(幂运算)

    1. 加减乘除:python中 +、-、*、/ 和数学中的加减乘除一样;例如:

      print(5+2)		# 7
      print(5-2)		# 3
      print(5*2)		# 10
      print(5/2)		# 2.5
      
    2. %(取余数、取模)

      编码方式:方式:x % y ;例如:

      print(5 % 2)		# 1
      print(16 % 5)		# 1
      

      应用1:判断一个数是否能被另外一个数整除(奇偶性:对2进行取余)

      print(15 % 4)
      print(79 % 2)
      # 取余=0,能整除,否则不能被整除
      # 偶数:对2取余=0,奇数:对2取余!=0
      

      应用2:对一个数取 低位数

      方法:对10的n次方进行取余,n位最低位数个数,例如:

      num = 6565
      print(num % 10)			# 5
      print(num % 1000)		# 565
      print(num % 10000)		# 6565
      
    3. //(整除)

      编码方式:x // y --> x除以y的商 向下取整,例如:

      print(10 // 3)			# 3
      print(15 // 2)			# 7
      print(-15 // 2)			# -8
      

      应用:正整数取高位

      方式:对10的n次方进行整除,例如:

      num = 25645
      print(num // 10)		# 2564
      print(num // 1000)		# 25
      

      练习:取3925的十位与百位数

      num = 3925
      # 十位数:
      print(num % 100 // 10)			# 2
      # 百位数:
      print(num //100 % 10)			# 9
      print(num % 1000 // 100)		# 9
      
    4. 幂运算

      编码方式:x ** y:求x的y次方,例如:

      print(16**2)					# 256
      print(16 ** 0.5)				# 4.0
      print(27 ** (1/3))				# 3.0
      
  2. 比较运算符,包括:>、<、>=、<=、==(等于)、!=(不等于)

    **重要结论:**所有比较运算的运算结果都是布尔,例如:

    print(10 > 20)						# False
    print(10 <= 10)						# True
    print(10 != 10)						# False
    print(10 == 10)						# True
    

    注意:python中的运算符可以像数学一样通过连写来表示范围

    age = 18
    print(10 < age < 30)				# True
    
  3. 逻辑运算符,包括:and(逻辑与运算符)、or(逻辑或运算)、not(逻辑非运算符)

    1. and(逻辑与运算符)

      应用场景:相当于生活中的并且,用于连接需要同时满足的多个条件

      运算规则:两个条件都为True,结果为True;有一个条件为False,结果就位False

      条件1 and 条件2:

      '''
      True and True					# True			
      True and False					# False
      False and False					# False
      False and True					# False
      '''
      

      练习:写出一个数能同时被3或7整除的条件

      num = 67
      # 条件1:num % 3 == 0
      # 条件2:num % 7 == 0
      print(num % 3 == 0 and num % 7 == 0)
      # 或者:
      print(num % 21 == 0)
      
    2. or - 逻辑或运算符

      应用场景:相当于生活中的或者,用于连接需要多个条件中满足一个条件就行的情况

      运算规则:两个条件中有一个为True,结果就为True;所有条件都为False,结果才为False

      条件1 or 条件2:

      '''
      True or True        		# True
      True or False       		# True
      False or False      		# False
      False or True       		# True
      '''
      

      练习1:拿奖学金的条件:绩点高于4.0或评分不低于95

      gpa = 3.8
      score = 92
      # 条件1:gpa > 4.0
      # 条件2:score >= 95
      print('是否能拿奖学金:', gpa > 4.0 or score >= 95)		# 是否能拿奖学金:False
      

      练习2:判断指定年是否为闰年

      ? 闰年的条件:①、普通闰年能被4整除且不能被100整除的为闰年

      ? ②、世纪闰年能被400整除的是闰年

      year = 2021
      # 条件1:year % 4 ==0 and year % 100 != 0
      # 条件2:2020 %400 == 0
      print('是否是闰年:', (year % 4 == 0 and year % 100 != 0) or year % 400 == 0)
      
    3. not(逻辑非运算)

      编码方式:not 条件 – 否定一个条件

      应用场景:对指定条件取反

      运算规则: True变False,False变True

      '''
      not True            		# False
      not False           		# True
      例如:
      年级不大于18:age <= 18、not age > 18
      '''
      

    ? 多应用于:当正向描述一个条件比较复杂,但反向描述简单的情况

    ? 练习:写出一个数不能同时被3和7整除的数

    ? 正向描述:① 能被3整除,不能被7整除;② 能被7整除,不能被3整除;③ 既不能被7整除,也不能被3 整除

    ? 反向描述:

    print(not num % 21 == 0)
    
    1. 逻辑运算符扩展 —> 运算对象不是布尔值

      数据1 and 数据2 —> 如果数据1的布尔值为True,结果就是数据2;否则就是数据1

      数据1 or 数据2 —> 如果数据1的布尔值为True,结果就是数据1否则就是数据2

      例如:

      print(7 and 5)      			# 7
      print(0 and 5)      			# 0
      print(False and 5)  			# False
      print(5 or 7)       			# 5
      print(0 or 7)       			# 7
      
    2. 短路操作

      条件1 and 条件2 :如果条件1已经是False,那么条件2不会执行;例如:

      '' and print('SCU')         	# 不会打印
      1 and print('SCU')          	# 打印:SCU
      

      条件1 or 条件2 :如果条件1已经是True,那么条件2不会执行;例如:

      '' or print('SCU')         		# 打印:SCU
      1 or print('SCU')          		# 不会打印
      
    3. 数据的布尔值 ----> 数据转换成布尔的结果

    python中所有类型的数据都有布尔值

    转换规则:所有的0值和空值对应的布尔值是False,其他数据对应的布尔值都是True

    常见的0值和空值:0、0.0、’ '、" "、{}、[]、()、None;例如:

    print(bool(0), bool(0.0), bool(''),bool(),bool([]))			# False 
    print(bool(12), bool(-8), bool('四川'))					# True
    
  4. 赋值运算符:=、+=、-=、*=、/=、%=、//=、**=

    重要结论:所有的赋值运算的功能都是给变量赋值,所以不会产生一个结果(即赋值运算的表达式没有结果),所以赋值运算符的左边必须是变量;例如:

    a = 10
    10 > 20
    # print(a=10)       报错
    print(10 > 20)
    

    1.= :定义变量或重新给给赋值的时候使用,例如:

    name = '雷洋'
    num = 10 * 20
    

    2.+=、-=、*=、/=、%=、//=、**=

    要求:赋值符号前面的变量必须是已经定义过的值

    变量 += 数据 --> 变量 = 变量 + 数据,例如:

    num = 60
    num += 10
    print(num)      # 70
    
    num -= 20
    print(num)      # 50
    
    num *= 2
    print(num)      # 100
    
    num %= 6
    print(num)      # 4
    
    num //= 3
    print(num)      # 1
    

    3.运算符的优先级

    ? 1.数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符

    ? 2.数学运算符:** > *、/、%、// > +、-

    ? 3.有括号先算括号内

    c = 10 < 5 * 3
    print(c)        # True
    

分支

  1. 流程控制

    1. 顺序结构:(默认执行方式) ===》代码从上至下依次执行,每条语句执行一次
    2. 分支结构:代码的执行看条件是否成立(if语句)
    3. 循环结构:让代码重复执行(for、while)
  2. if分支结构

    1. if单分支结构:满足条件时执行某个操作,条件不满足的时候,操作不执行

      1. 语法:

        if 条件语句 :

        ? 代码段

      2. 说明:

        if : 关键字,固定写法

        条件语句 : 任何有结果的表达式,例如:数据、运算表达式(赋值除外)、函数调用 表达式等

        : – 固定写法

        代码段 : 和if保持一个缩进的一条或多条语句(至少一条);需要满足条件才执行的 代码

      3. 执行过程:先判断条件语句是否为True(如果条件语句不是bool,就转换成bool再判断),如果为True,就执行代码段,否则代码段不执行

        例如:

        a = 2
        if a > 1:
            print(123)					# 123
            print('leiyangcd')			# leiyangcd
        

        练习1:如果是偶数则打印‘偶数’,如果是奇数,则打印’奇数‘

        num = 23
        # 写法一:
        if num % 2 == 0:
            print('偶数')
        if not num % 2:
            print('偶数')
        # 写法二:
        if num % 2 != 0:
            print('奇数')
        if num % 2:
            print('奇数')
        

        练习2:判断指定的数是否为水仙花数

        水仙花数:个位数的三次方 + 十位数的三次方+ 百位数的三次方 = 这个数

        num = 153
        bai = num // 100
        # shi = num // 10 % 10
        shi = num % 100 // 10
        ge = num % 10
        print(bai, shi, ge)
        if num == (bai**3 + shi**3 + ge**3):
            print('水仙花数')
        
    2. if双分支结构:满足条件执行某个操作,不满足的时候执行另一个操作

      1. 语法:

        if 条件语句:

        ? 代码段1(满足条件时执行)

        else:

        ? 代码段2(条件不满足时执行)

        代码段3(不管条件是否满足,都执行)

        练习:根据年龄值打印成年或未成年

        age = 15
        if age >= 18:
            print('已成年')
        else:
            print('未成年')
        
    3. if多分支结构:根据不同的条件做不一样的事情

      语法:

      if 条件语句1:

      ? 代码段1

      elif 条件语句2:

      ? 代码段2

      elif 条件语句n:

      ? 代码段n

      else:

      ? 代码段

      前提:多个条件中,如果其中一个条件满足,其他的所有条件绝对不会满足

      练习1:将指定分数分成A(90以上)、B[8090]、C[6080)、D(60以下)四个等级

      score = 91
      if score > 90:
          print('A')
      elif score >= 80:
          print('B')
      elif score >= 60:
          print('C')
      else:
          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 的?法有(C,D)。

    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的值为(3)。
  3. 已知 x = 3 ,那么执?语句 x += 6 之后,x的值为(9)。
  4. 表达式 3 ** 2 的值为(9),表达式 3 * 2 的值为(6),表达式 4 ** 0.5 的值为(2)。

编程题

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

    num = int(input('请输入一个数:'))
    if num % 10:
        print(num, '不能被2和5同时整除')
    else:
        print(num, '能同时被2和5整除')
    
  2. 写出判断?个数是否能够被2或者5整除,但是不能同时被2或者5整除的条件语句, 并且打印对应

    的结果

    num = int(input('请输入一个数:'))
    if num % 10 == 0:
        print('能同时被2和5整除')
    elif num % 2 ==0 or num % 5 ==0:
        print('能够被2或者5整除,但是不能同时被2或者5整除')
    else:
        print('既不能被2整除也不能被5整除')
    
  3. 假设今天的上课时间为15678秒,编程计算今天上课时间是多少?时,多少分钟,多少秒;以‘XX

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

    num = 15678
    hour = num // 3600
    minute = (num % 3600) // 60
    second = (num % 3600) % 60
    print(hour, '时', minute, '分', second, '秒')
    
  4. 定义两个变量保存?个?的身?和体重,编程实现判断这个?的身材是否正常!

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

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

    height = float(input('请输入身高:'))
    weight = float(input('请输入体重:'))
    ratio = weight / height
    if 18.5 <= ratio <= 24.9:
        print('是否正常:', True)
    else:
        print('是否正常', False)
    
  5. 根据输入的成绩的范围打印及格 或者不及格

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

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

    a = int(input(('请输入第一个数:')))
    b = int(input(('请输入第二个数:')))
    if (a-b) % 2:
        print(a-b)
    else:
        print('a-b的结果不是奇数')
    
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-15 16:07:41  更:2021-07-15 16:10:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 12:24:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码