热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python运算符和分支结构

一.运算符和分支结构1.数学运算符1.1(加),-(减),*(乘),(除),%(取余求模),(整除),**(幂运算)1.1.1,-,*,与数学中的,-,,,相同print(
一.运算符和分支结构

1.数学运算符


1.1+(加),-(减),*(乘),/(除),%(取余/求模),//(整除),**(幂运算)


1.1.1+,-,*,/与数学中的+,-,×,÷,相同

print(5+2) #7
print(6-6) #0
print(26*2) #52
print(2/2) #1.0

1.1.2% 求余数,取模:x%y求x除以y的余数

print(5%2) #1
print(8%2) #0

应用1:判断一个数能否被另一个数整除(判断余数是否为0)

x = 5
y = 3
a = x%y
if a == 0:print("x可以被y整除")
else:print("x不可以被y整除")

应用2:取低位数/取个位(对10或者10的幂次方取余)

num = 2335
print(num%10) #取个位5

1.1.3// - 整除 x/y的商只取整数

print(5//2) #2
print(1.8//2) #0.0
print(-5//2) #-3

应用:正整数去低位/去个位

num = 23456
print(num // 10) #2345

练习:获取指定正整数的十位数

num = 3945
print(num // 10 % 10) #去个位在取个位 4
print(num % 100 // 10) #取个位和十位在去个位 4

练习2:获取指定正整数的百位数

num = 3945
print(num // 100 % 10) #去个位和十位在取个位 9
print(num % 1000 // 100) #取个位和十位和百位在去个位和十位 9

1.1.4** - 幂运算 x**y 求x的y次方

print(2**3) #8
print(16**0.5) #4.0
print(2.2**2) #4.840000000000001
print(2.0**2) #4.0

2.比较运算符&#xff1a;>(大于),>&#61;(大于等于),<(小于),<&#61;(小于等于),&#61;&#61;(等于),!&#61;(不等于)


2.1重要结论&#xff1a;所有的比较运算的运算结果都是布尔

print(10 > 10) #False
print(10 >&#61; 10) #True
print(10 < 10) #False
print(10 <&#61; 10) #True
print(10 &#61;&#61; 10) #True
print(10 !&#61; 10) #False
a &#61; (10&#61;&#61;10)
print(a &#61;&#61; (10&#61;&#61;10))
if a&#61;&#61;1:print("003") #true&#61;1/false&#61;0

2.2注意&#xff1a;python中的比较运算符可以像数据一样通过连写来表示范围

age &#61; 20
print(18 <&#61; age <&#61; 28) #true

3.逻辑运算符 - and(逻辑与运算),or(逻辑或运算),not(逻辑非运算)


3.1 and - 逻辑与运算 ,并且,连接需要同时满足的多个条件


运算规则&#xff1a;条件1 and 条件2 全真为真&#xff0c;有假为假

print(True and True)
print(True and False)
print(False and True)
print(False and False)

练习&#xff1a;写出一个数能同时被3和7整除的条件

aa &#61; 63
if aa % 3 &#61;&#61; 0 and aa % 7 &#61;&#61; 0: #aa % 21 &#61;&#61; 0print("这个数能被3和7整除")
else:print("这个数不能被3和7整除")
print(aa % 3 &#61;&#61; 0 and aa % 7 &#61;&#61; 0,aa%21&#61;&#61;0)

3.2 or - 逻辑或运算 ,或者,连接需要满足的其中一个条件


运算规则&#xff1a;条件1 or 条件2 全假为假&#xff0c;有真为真

print(True or True)
print(True or False)
print(False or True)
print(False or False)

练习1&#xff1a;判断是否能拿奖学金&#xff0c;条件(绩点高于4,或者操评分不低于95)

gpa &#61; 3.8
score &#61; 98
if gpa > 4 or score >&#61;95: #满足其中一个条件即可print("可以获得奖学金")
else:print("不能拿奖学金")

练习2&#xff1a;判断指定年是否为闰年(普通闰年&#xff1a;公历年份是4的倍数的&#xff0c;且不是100的倍数&#xff0c;为普通闰年。世纪闰年&#xff1a;必须是400的倍数才是世纪闰年)

year &#61; 2020
if year % 4 &#61;&#61;0 and year % 100 !&#61;0:print("该年为普通闰年")
elif year % 400 &#61;&#61;0:print("该年为世纪闰年")
else:print("该年为平年")

3.3 not - 逻辑非运算 对指定条件进行否定(取反)


运算规则&#xff1a; not 条件

print(not True) #False
num &#61; 18
print(not num &#61;&#61; 18,num !&#61;18) #False False

练习&#xff1a;写出一个不能同时被3和7整除的条件(能被3整除不能被7整除&#xff0c;能被7整除不能被3整除&#xff0c;既不能被3整除也不能被7整除)

num &#61; 22
print(not num % 21 &#61;&#61; 0)

一般用于正向条件情况很复杂&#xff0c;反向条件很简单的时候

3.4 短路操作&#xff1a;


规则&#xff1a;条件1 and 条件2 如果条件1为False,结果为条件1&#xff0c;条件2不执行


条件2 or 条件2 如果条件1为True,结果为条件1&#xff0c;条件2不执行

False and print("aaa")
True or print("bbb")
1 and print("aaa")
0 or print("bbb")

3.5 逻辑运算符的扩展 - 运算对象不是布尔值

print(1 and "49") #and情况下如果数据1的布尔值是True,结果就是数据2&#xff0c;否则为数据1 #49
print(1 and 49) #49
print(0 and 49) #0
print(6 or 7) #or情况下如果数据1的布尔值是True,结果就是数据1&#xff0c;否则为数据2 #6

着重点&#xff1a;数据的布尔值 - 数据转成布尔的结果 python中所有类型数据都有布尔值


所有的零值和控制对应的布尔值都是False&#xff0c;其它数据的布尔值都是True


常见的零值和空值&#xff1a;0,0.0,’’,[],(),{},none

print(bool(2)&#61;&#61;True,bool(0)&#61;&#61;True,True&#61;&#61;bool(2),True&#61;&#61;bool([]))

4.赋值运算符&#xff1a;&#61;,&#43;&#61;,-&#61;,*&#61;,/&#61;,%&#61;,//&#61;,**&#61;


重要结论&#xff1a;所有赋值运算符都是为了给变量赋值 左边必须为变量


4.1 &#61; - 定义变量,给变量重新赋值


规则&#xff1a;把右边的值赋值给左边的变量

a &#61; 1
print(a) #1

4.2 &#43;&#61;,-&#61;,*&#61;,/&#61;,%&#61;,//&#61;,**&#61;


规则&#xff1a;把左边的变量的值加上,减去,乘上,除去,取模,整除,平方右边的值之后的值在重新赋值给变量

b &#61; 1
b &#43;&#61; 8
print(b) #9
b -&#61; 3
print(b) #6
b **&#61; 2
print(b) #36
b //&#61; 4
print(b) #9
b %&#61; 2
print(b) #1

4.3运算符的优先级


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


数学运算符&#xff1a;** > *,/,%,// > &#43;,- 有括号先算括号


5.流程控制


5.1顺序结构 - 从上往下依次执行&#xff0c;每条语句执行一次

print(1)
print(2)

5.2分支结构 - 代码的执行看条件是否成立 (if语句)


5.2.1单分支结构 - 如果条件成立就执行某个操作&#xff0c;否则就不执行


语法&#xff1a;

if 条件语句: #if - 关键字&#xff0c;固定 条件语句 - 任何有结果的表达式
代码段
#判断条件是否为True,为True执行代码段&#xff0c;否则不执行
#如果条件语句不是布尔&#xff0c;就转换为布尔来看

a &#61; 1
if a &#61;&#61; 1:print(True)print("aaa")

练习1&#xff1a;如果指定的数是偶数就打印偶数

b &#61; 22
if b % 2 &#61;&#61;0:print("偶数")
if not b % 2:print("偶数")

练习2&#xff1a;如果指定的数是奇数就打印奇数

b &#61; 23
if b % 2 !&#61;0:print("奇数")
if b % 2:print("奇数")

练习3&#xff1a;判断指定(100,1000)数据是否为水仙花数

水仙花数&#xff1a;个位的3次方&#43;十位的三次方&#43;百位的三次方&#61;它本身

a &#61; 153
if (a % 10) ** 3 &#43; (a // 10 % 10) ** 3 &#43; (a // 100) ** 3 &#61;&#61; a:print("是水仙花数")

5.2.2双分支结构 - 如果条件成立就执行某个操作&#xff0c;否则就执行另一个操作

a &#61; 1
if a &#61;&#61; 1:print(True)
else:print(False)

5.2.3多分支结构 - 如果条件成立就执行某个操作&#xff0c;否则判断另一个条件是否成立

age &#61; 50
if age<14:print(age)print("儿童")
elif age<18:print(age)print("青少年")
elif age<26:print(age)print("青年")
elif age<50:print(age)print("中年")
else:print(age)print("老年")

练习1&#xff1a;判断分数等级

score &#61; 89
if score > 90:print("A")
elif score >&#61; 80:print("B")
elif score >&#61; 60:print("C")
else:print("D")

二.作业

选择题


  1. print(100 - 25 * 3 % 4) 应该输出什么? &#xff08;B&#xff09;

    A. 1

    B. 97

    C. 25

    D. 0

  2. 下列哪种说法是错误的&#xff08;A&#xff09;。

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

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

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

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

  3. 下列表达式的值为True的是&#xff08;B&#xff09;。

    A. 3>2>2

    B. 1 and 2 !&#61; 1

    C. not(11 and 0 !&#61; 2)

    D. 10 <20 and 10 <5

  4. Python不⽀持的数据类型有&#xff08;A&#xff09;。

    A. char

    B. int

    C. float

    D. list

  5. &#xff08;多选&#xff09;n &#61; 6784&#xff0c;以下能够获取到7 的⽅法有&#xff08;C,D&#xff09;。

    A. n / 1000 % 100

    B. n % 1000 / 100

    C. n // 100 % 10

    D. n // 10 % 100 // 10

  6. 运⾏以下程序&#xff0c;当从键盘上输⼊12,运⾏结果是&#xff08;A&#xff09;。

    x &#61; (input())
    print(type(x))

    A.

    B.

    C. 出错

    D.

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

    a &#61; 100
    b &#61; False
    print(a * b > -1)

    A. False

    B. 1

    C. 0

    D. True


填空题


  1. 查看变量中数据的类型的函数名是&#xff08;type&#xff09;。
  2. 已知 x &#61; 3 &#61;&#61; 3 ,执⾏结束后&#xff0c;变量x的值为&#xff08;True&#xff09;。
  3. 已知 x &#61; 3 &#xff0c;那么执⾏语句 x &#43;&#61; 6 之后&#xff0c;x的值为&#xff08;9&#xff09;。
  4. 表达式 3 ** 2 的值为&#xff08;9&#xff09;,表达式 3 * 2 的值为&#xff08;6&#xff09;&#xff0c;表达式 4 ** 0.5 的值为&#xff08;2.0&#xff09;。

编程题


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

    num &#61; 20
    if num % 10 &#61;&#61; 0:print(num,"能同时被2和5整除")
    else:print(num,"不能同时被2和5整除")

  2. 写出判断⼀个数是否能够被2或者5整除&#xff0c;但是不能同时被2或者5整除的条件语句&#xff0c; 并且打印对应

    的结果。

    num &#61; 20
    if num % 10 !&#61;0 and (num % 2&#61;&#61;0 or num % 5&#61;&#61;0):print(num,"能够被2或者5整除&#xff0c;但是不能同时被2或者5整除")
    else:print(num,"不满足能够被2或者5整除&#xff0c;但是不能同时被2或者5整除")

  3. 假设今天的上课时间为15678秒&#xff0c;编程计算今天上课时间是多少⼩时&#xff0c;多少分钟&#xff0c;多少秒&#xff1b;以‘XX

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

    例如&#xff1a;100秒表示成 0时1分40秒

    time &#61; 15678
    hour &#61; time // 3600
    min &#61; (time-hour*3600)//60
    sec &#61; time-hour*3600-min*60
    print("今天上课时间为&#xff1a;",hour,"小时",min,"分钟",sec,"秒")

  4. 定义两个变量保存⼀个⼈的身⾼和体重&#xff0c;编程实现判断这个⼈的身材是否正常!

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

    输出格式&#xff1a; 是否正常&#xff1a;True/False

    kg &#61; 70
    m &#61; 1.75
    if 18.5<&#61; (kg / m**2) <&#61;24.9:print(True)
    else:print(False)

  5. 根据输入的成绩的范围打印及格 或者不及格

    score &#61; 88
    if score>&#61;60:print(score)print("及格")
    else:print(score)print("不及格")

  6. 根据输入的年纪范围打印成年或者未成年&#xff0c;如果年龄不在正常范围内(0~150)打印这不是人!

    age &#61; 18
    if 0 <&#61; age < 18:print("未成年")
    elif 18 <&#61; age <&#61;150:print("成年")
    else:print("这不是人!")

  7. 输入两个整数a和b&#xff0c;若a-b的结果为奇数&#xff0c;则输出该结果&#xff0c;否则输出提示信息a-b的结果不是奇数

    a &#61; 22
    b &#61; 9
    if (a-b) % 2 !&#61;0:print(a-b)
    else:print("a-b的结果不是奇数")


推荐阅读
  • Python循环语句代码逐行详解:while、for、break和continue
    来源:大数据DT本文约3200字,建议阅读9分钟循环语句是指重复执行同一段代码块,通常用于遍历集合或者累加计算。Python中的循环语句有 ... [详细]
  • 提升Python编程效率的十点建议
    本文介绍了提升Python编程效率的十点建议,包括不使用分号、选择合适的代码编辑器、遵循Python代码规范等。这些建议可以帮助开发者节省时间,提高编程效率。同时,还提供了相关参考链接供读者深入学习。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • 那你就是学的c语言,跟我学c语言
    本文目录一览:1、如何学习C语言?2、新手如何 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • SpringBoot uri统一权限管理的实现方法及步骤详解
    本文详细介绍了SpringBoot中实现uri统一权限管理的方法,包括表结构定义、自动统计URI并自动删除脏数据、程序启动加载等步骤。通过该方法可以提高系统的安全性,实现对系统任意接口的权限拦截验证。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
author-avatar
mobiledu2502910203
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有