入门 two day
-
python中支持的运算符:
-
数学运算符:+(加)、-(减)、*(乘)、/(除)、%(取余、取模)、//(整除)、**(幂运算)
三目运算符:
C语言中的三目运算符:表达式1?表达式2:表达式3
判断表达式1的值是否为True,如果是整个运算结果是表达式2的结果否则运算结果是表达式3的结果python中的三目运算符
表达式2 if 表达式1 else 表达式3
判断表达式1的值是否为True,如果是整个运算结果是表达式2的结果,否则是表达式3的结果age = 3 result = "成年人" if age >= 18 else "未成年人" print(result) ```Python print(6 % 4) # 6%4=2 取余数,判断一个数是否能够被另一个数整除 print(6 // 4) # 6//4=1 取整 X%10 获取X的个位数,X%100获取X的后两位数... # // 商取整 (向小取整) num1 = 1.9 // 1 num2 = -1.9 // 1 print(num1,num2) # num1 = 1.0 num2 = -2.0 # 练习:获取任意大于100的数的百位数 num = int(input("请输入大于100的数字: ")) num1 = num % 1000 // 100 print("得到的百位数是: ",num1) # ** 幂运算 print(2**3) # 计算2的3次方 结果为8 print(4**(1/2)) #计算4的二分之一次方(0.5)结果为2.0 ,次方数为1/N - 表示开N次方
-
-
比较运算符:>,<,==(等于),!=(不等于),<=,>=
所有的比较运算符的运算结果都是布尔值 True False
print(10 > 20) # False print(10 < 20) # True print(10 <= 10) # True print(10 >= 10) # True print(10 == 10) # True print(10 != 10.0) # False # python 中支持连写的方式,表示取值范围 age = 50 print(15 <= age <= 100) # True
-
逻辑运算符:
and(逻辑与)
相当于生活中的“并且”,当需要多个条件同时满足的时候使用
运算规则:条件都为True 的时候,结果就是True ,只要有一个条件是False,结果就为False
Ture and Ture --> True Ture and False --> False False and Ture --> False False and False --> False
or(逻辑或)
相当于生活中的“或者”,大概需要多个条件中只要有一个条件满足的时候使用
运算规则:都是False 结果是False,只要有一个条件为True ,结果就为True
True or True --> True True or False --> True False orTrue --> True False or False --> False
-
not(逻辑非)
对一个条件进行否定,如果一个条件正向写非常麻烦,但是反向写很简单,就反向写加not
运算规则:True 变 False , False 变 True
not True -> False not False -> True # 练习:写出一个数是否同时能被3和7整除的条件 num = int(input("请输入一个数字: ")) print('是否同时被3和7整除:', num % 3 == 0 and num % 7 == 0) # 方法一 print('是否能被3和7整除相当于能否被21整除:', num % 21 == 0) # 方法二
判断闰年的条件 能被4整除但是不能被100整除 或者能被400整除
year = int(input("请输入一个年份: ")) # 方法一 print((year % 4 == 0 and year % 100 != 0) or year % 400 == 0)
not 应用场景
# 练习: 写出不能同时被3和7整除的条件 num = int(input('请输入一个数字: ')) # 方法一 print((num % 3 != 0 and num % 7 != 0) or (num % 3 == 0 and num % 7 != 0) or (num % 3 != 0 and num % 7 == 0)) # 方法二 print(not num % 21 == 0)
- 短路操作
and 的短路操作: 条件1 and 条件2 - 如果条件1是False,那么条件2对应的代码不会执行
or 的短路操作 : 条件1 or 条件2 - 如果条件1是True , 那么条件2对应的代码不会执行
实际开发的时候逻辑运算符的运算对象和结果一般都是布尔值
当运算对象不是布尔值的时候
如果表达式的值不是布尔值,就会转化成布尔值再判断
python中任何类型的数据都可以转换成布尔值,所有为0为空的值会转换成False,其他值都是True
例:
print(5 and 3) # 3
print(5 or 3) # 3
- 布尔值转换:
print(bool(0)) # False
print(bool('')) # False 引号里面没有值为False
print(bool(' ')) # True 引号里面有值就算是空格也会返回True
print(bool(1000)) # True
-
赋值运算符 : = 、+=、-=、/=、*=、%=、//=、**=
所有的赋值运算符都是用来给变量赋值,赋值运算符左边必须是变量
复合的赋值运算符必须是已经赋值过的变量
复合赋值运算符:
a = 10 a += 3 # a = a+3 print(a) # 13 a *= 2 # a = a*2 print(a) # 26 a %= 3 # a = a%3 print(a) # 2
运算符的优先级:
数学运算符 > 比较优先级 > 逻辑运算符 > 赋值运算符 (最低)
数学运算符: ** > *、/、%、// > +、-
位运算 : &(按位与)、|(按位或)、^(按位异或)、-(按位取反)、>>(右移)、<<(左移)
应用1:判断整数的奇偶性 - 数字对1进行按位与运算,如果结果是1就是奇数,结果是0就是偶数
应用2:<< 快速乘2; >> 快速整除2
print(28 & 1, 25 & 1, 30 & 1) # 0 1 0 print(4 << 1, 5 << 2, 5 << 1) # 8 20 10 print(4 >> 1, 5 >> 1, -5 >> 1) # 2 2 -3
-
流程控制
a.顺序结构 - 从上往下依次执行没一条语句(默认情况)
b.分支结构 - 根据条件选择性地执行代码 (if 语句)
c.循环结构 - 让代码重复执行 (for循环,while循环)
-
分支结构
if - 单分支结构
if +条件语句(任何有结果的表达式-任何类型的数据、除了赋值以外的运算符表达式),满足条件执行某个操作,不满足就不执行
冒号: - 固定写法,python中冒号后面一半都需要换行后产生缩进来表示代码块
代码段 - 和if保持一个缩进(按TAB)的一条或者多条语句
在满足条件语句的时候会执行的代码
执行过程:
先判断条件语句是否为True (如果不是布尔值就转换成布尔值再判断)
如果是True 就执行代码段,否则就不执行
If语句中至少要有一条语句,在不确定的时候可以先用pass占位
例:
if 1 !=0 : print(1) if 100: pass # if后面不能跟赋值语句 if a = 10: pass # 程序会报错 # 练习 输入一个整数如果是偶数就打印“这个数能被2整除” num = int(input("请输入一个整数: ")) if num % 2 == 0: print(num, '是偶数,能被2整除') else: print(num, "不是偶数,不能被2整除!") if num & 1: print(num, '这个数是奇数')
if 双分支结构 - 满足条件执行某个操作,条件不满足执行另一个操作
语法:
if 条件语句:
代码块1(满足条件要执行的代码)
else:
代码块2(不满足条件要执行的代码)
执行过程:
先判断条件语句是否为True ,如果是就执行代码块1,否则执行代码块2# 练习:如果输入的数字是偶数就打印’偶数‘,否则打印’奇数‘ num = int(input('请输入一个整数: ')) if num & 1 == 0: print('这是一个偶数') else: print("这是一个奇数") # 练习:根据输入的年龄值打印“成年”或者“未成年” age = int(input("请输入你的年龄:")) if age >= 18: print("你已经是个成年的大宝宝了!") else: print("你还是一个未成年的宝宝啊!") # 练习:根据输入年份的值打印’闰年‘或者’非闰年‘ year = int(input('请输入年份: ')) if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0: print('你可真厉害,你输入的是闰年!') else: print('爪巴爪巴,根本不是闰年')
if 多分支结构 - 根据不同的条件执行不同的操作
语法:
if 条件语句1:
代码块1
elif 条件语句2:
代码块2
elif 条件语句3:
代码块3
…
else:
代码块n先判断条件语句1是否为True ,如果是直接执行代码块1,然后整个if结构结束
如果不为True ,就判断条件语句2是否为True ,是就执行,然后结束。
如果不为True … … 以此类推。如果前面的语句都不满足就执行else后的代码块# 输入学生绩点,判断该学生能获得奖学金的等级 # 一等:绩点>4; 二等:3.5<=绩点<=4; 三等:3<=绩点<3.5; 四等:2.5<=绩点<3;没有:绩点<2.5 num = int(input('请输入学生绩点: ')) if num > 4: print('一等') elif num >= 3.5: print('二等') elif num >= 3: print("三等") elif num >= 2.5: print('四等') else: print('没有')
选择题
-
print(100 - 25 * 3 % 4)
应该输出什么? (B) 25*3=75 75%4=3 100-3=97A. 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)。千锋Python人工智能学院
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 = int(input("请输入一个数字: ")) if num % 10 : print(num,'不能同时被2和5整除') else: print(num,"能同时被2和5整除")
-
写出判断⼀个数是否能够被2或者5整除,但是不能同时被2或者5整除的条件语句, 并且打印对应
的结果。
num = int(input("请输入一个数字: ")) if num % 10 != 0 : if num % 2 == 0: print(num,'能被2整除') elif num % 5 == 0: print(num,"能被5整除") else: print(num,'这个数不满足条件') else: print(num,'这个数不满足条件')
-
假设今天的上课时间为15678秒,编程计算今天上课时间是多少⼩时,多少分钟,多少秒;以‘XX
时XX分XX秒’的⽅式表示出来。
例如:100秒表示成 0时1分40秒
# 这是比较傻的写法 time = 15678 time1 = time // 3600 time2 = (time - time1 * 3600) // 60 time3 = (time - time1 * 3600) % 60 print(time1, '时', time2, '分', time3, '秒') # 这是常规写法 time = 15678 time1 = time // 3600 time2 =time % 3600 // 60 time3 = time % 60 print(time1, '时', time2, '分', time3, '秒')
-
定义两个变量保存 ⼈的身⾼和体重,编程实现判断这个⼈的身材是否正常!
公式: 体重(kg)/身⾼(m)的平⽅值 在18.5 ~ 24.9之间属于正常。
输出格式: 是否正常:True/False
height = 1.83 weight = 73 stature = 73 / (1.83**2) if 18.5<= stature <= 24.9: print("是否正常", True) else: print("是否正常", False)