day002总结
作者:互联网
一.运算符和分支结构
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.比较运算符:>(大于),>=(大于等于),<(小于),<=(小于等于),==(等于),!=(不等于)
2.1重要结论:所有的比较运算的运算结果都是布尔
print(10 > 10) #False
print(10 >= 10) #True
print(10 < 10) #False
print(10 <= 10) #True
print(10 == 10) #True
print(10 != 10) #False
a = (10==10)
print(a == (10==10))
if a==1:
print("003") #true=1/false=0
2.2注意:python中的比较运算符可以像数据一样通过连写来表示范围
age = 20
print(18 <= age <= 28) #true
3.逻辑运算符 - and(逻辑与运算),or(逻辑或运算),not(逻辑非运算)
3.1 and - 逻辑与运算 ,并且,连接需要同时满足的多个条件
运算规则:条件1 and 条件2 全真为真,有假为假
print(True and True)
print(True and False)
print(False and True)
print(False and False)
练习:写出一个数能同时被3和7整除的条件
aa = 63
if aa % 3 == 0 and aa % 7 == 0: #aa % 21 == 0
print("这个数能被3和7整除")
else:
print("这个数不能被3和7整除")
print(aa % 3 == 0 and aa % 7 == 0,aa%21==0)
3.2 or - 逻辑或运算 ,或者,连接需要满足的其中一个条件
运算规则:条件1 or 条件2 全假为假,有真为真
print(True or True)
print(True or False)
print(False or True)
print(False or False)
练习1:判断是否能拿奖学金,条件(绩点高于4,或者操评分不低于95)
gpa = 3.8
score = 98
if gpa > 4 or score >=95: #满足其中一个条件即可
print("可以获得奖学金")
else:
print("不能拿奖学金")
练习2:判断指定年是否为闰年(普通闰年:公历年份是4的倍数的,且不是100的倍数,为普通闰年。世纪闰年:必须是400的倍数才是世纪闰年)
year = 2020
if year % 4 ==0 and year % 100 !=0:
print("该年为普通闰年")
elif year % 400 ==0:
print("该年为世纪闰年")
else:
print("该年为平年")
3.3 not - 逻辑非运算 对指定条件进行否定(取反)
运算规则: not 条件
print(not True) #False
num = 18
print(not num == 18,num !=18) #False False
练习:写出一个不能同时被3和7整除的条件(能被3整除不能被7整除,能被7整除不能被3整除,既不能被3整除也不能被7整除)
num = 22
print(not num % 21 == 0)
一般用于正向条件情况很复杂,反向条件很简单的时候
3.4 短路操作:
规则:条件1 and 条件2 如果条件1为False,结果为条件1,条件2不执行
条件2 or 条件2 如果条件1为True,结果为条件1,条件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,否则为数据1 #49
print(1 and 49) #49
print(0 and 49) #0
print(6 or 7) #or情况下如果数据1的布尔值是True,结果就是数据1,否则为数据2 #6
着重点:数据的布尔值 - 数据转成布尔的结果 python中所有类型数据都有布尔值
所有的零值和控制对应的布尔值都是False,其它数据的布尔值都是True
常见的零值和空值:0,0.0,’’,[],(),{},none
print(bool(2)==True,bool(0)==True,True==bool(2),True==bool([]))
4.赋值运算符:=,+=,-=,*=,/=,%=,//=,**=
重要结论:所有赋值运算符都是为了给变量赋值 左边必须为变量
4.1 = - 定义变量,给变量重新赋值
规则:把右边的值赋值给左边的变量
a = 1
print(a) #1
4.2 +=,-=,*=,/=,%=,//=,**=
规则:把左边的变量的值加上,减去,乘上,除去,取模,整除,平方右边的值之后的值在重新赋值给变量
b = 1
b += 8
print(b) #9
b -= 3
print(b) #6
b **= 2
print(b) #36
b //= 4
print(b) #9
b %= 2
print(b) #1
4.3运算符的优先级
数学运算符>比较运算符>逻辑运算符>赋值运算符
数学运算符:** > *,/,%,// > +,- 有括号先算括号
5.流程控制
5.1顺序结构 - 从上往下依次执行,每条语句执行一次
print(1)
print(2)
5.2分支结构 - 代码的执行看条件是否成立 (if语句)
5.2.1单分支结构 - 如果条件成立就执行某个操作,否则就不执行
语法:
if 条件语句: #if - 关键字,固定 条件语句 - 任何有结果的表达式
代码段
#判断条件是否为True,为True执行代码段,否则不执行
#如果条件语句不是布尔,就转换为布尔来看
a = 1
if a == 1:
print(True)
print("aaa")
练习1:如果指定的数是偶数就打印偶数
b = 22
if b % 2 ==0:
print("偶数")
if not b % 2:
print("偶数")
练习2:如果指定的数是奇数就打印奇数
b = 23
if b % 2 !=0:
print("奇数")
if b % 2:
print("奇数")
练习3:判断指定(100,1000)数据是否为水仙花数
水仙花数:个位的3次方+十位的三次方+百位的三次方=它本身
a = 153
if (a % 10) ** 3 + (a // 10 % 10) ** 3 + (a // 100) ** 3 == a:
print("是水仙花数")
5.2.2双分支结构 - 如果条件成立就执行某个操作,否则就执行另一个操作
a = 1
if a == 1:
print(True)
else:
print(False)
5.2.3多分支结构 - 如果条件成立就执行某个操作,否则判断另一个条件是否成立
age = 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:判断分数等级
score = 89
if score > 90:
print("A")
elif score >= 80:
print("B")
elif score >= 60:
print("C")
else:
print("D")
二.作业
选择题
-
print(100 - 25 * 3 % 4)
应该输出什么? (B)A. 1
B. 97
C. 25
D. 0
-
下列哪种说法是错误的(A)。
A. 除字典类型外,所有标准对象均可以⽤于布尔测试
B. 空字符串的布尔值是False
C. 空列表对象的布尔值是False
D. 值为0的任何数字对象的布尔值是False
-
下列表达式的值为True的是(B)。
A. 3>2>2
B. 1 and 2 != 1
C. not(11 and 0 != 2)
D. 10 < 20 and 10 < 5
-
Python不⽀持的数据类型有(A)。
A. char
B. int
C. float
D. list
-
(多选)n = 6784,以下能够获取到7 的⽅法有(C,D)。
A. n / 1000 % 100
B. n % 1000 / 100
C. n // 100 % 10
D. n // 10 % 100 // 10
-
运⾏以下程序,当从键盘上输⼊12,运⾏结果是(A)。
x = (input()) print(type(x))
A. <class 'str'>
B. <class 'int'>
C. 出错
D. <class 'dict'>
-
下列表达式的运算结果是( D) 。
a = 100 b = False print(a * b > -1)
A. False
B. 1
C. 0
D. True
填空题
- 查看变量中数据的类型的函数名是(type)。
- 已知 x = 3 == 3 ,执⾏结束后,变量x的值为(True)。
- 已知 x = 3 ,那么执⾏语句 x += 6 之后,x的值为(9)。
- 表达式 3 ** 2 的值为(9),表达式 3 * 2 的值为(6),表达式 4 ** 0.5 的值为(2.0)。
编程题
-
写出判断⼀个数是否能同时被2和5整除的条件语句, 并且打印对应的结果。
num = 20 if num % 10 == 0: print(num,"能同时被2和5整除") else: print(num,"不能同时被2和5整除")
-
写出判断⼀个数是否能够被2或者5整除,但是不能同时被2或者5整除的条件语句, 并且打印对应
的结果。
num = 20 if num % 10 !=0 and (num % 2==0 or num % 5==0): print(num,"能够被2或者5整除,但是不能同时被2或者5整除") else: print(num,"不满足能够被2或者5整除,但是不能同时被2或者5整除")
-
假设今天的上课时间为15678秒,编程计算今天上课时间是多少⼩时,多少分钟,多少秒;以‘XX
时XX分XX秒’的⽅式表示出来。
例如:100秒表示成 0时1分40秒
time = 15678 hour = time // 3600 min = (time-hour*3600)//60 sec = time-hour*3600-min*60 print("今天上课时间为:",hour,"小时",min,"分钟",sec,"秒")
-
定义两个变量保存⼀个⼈的身⾼和体重,编程实现判断这个⼈的身材是否正常!
公式: 体重(kg) / (身⾼(m)的平⽅值 ) 在18.5 ~ 24.9之间属于正常。
输出格式: 是否正常:True/False
kg = 70 m = 1.75 if 18.5<= (kg / m**2) <=24.9: print(True) else: print(False)
-
根据输入的成绩的范围打印
及格
或者不及格
score = 88 if score>=60: print(score) print("及格") else: print(score) print("不及格")
-
根据输入的年纪范围打印
成年
或者未成年
,如果年龄不在正常范围内(0~150)打印这不是人!
age = 18 if 0 <= age < 18: print("未成年") elif 18 <= age <=150: print("成年") else: print("这不是人!")
-
输入两个整数a和b,若a-b的结果为奇数,则输出该结果,否则输出提示信息
a-b的结果不是奇数
。a = 22 b = 9 if (a-b) % 2 !=0: print(a-b) else: print("a-b的结果不是奇数")
标签:总结,10,False,num,print,整除,True,day002 来源: https://blog.csdn.net/Xu_Mingyong/article/details/118736333