day2 总结
一、关于补充数位进行判断
要求输入的是X位数,但用户输入的并未达到指定位数,个人认为应当补充数位至X位,然后再进行判断。补充数位后,我们输入的将自动变为字符型(str型),所以我们首先需要将字符型(str型)转换为数字型(int型)。
x=int(input("请输入一个三位数:"))
if x<int(100):
x = "%03d" % x #将位数补充为三位
print(x)
elif x>999:
print("超过输入上限")
else:
x=int(x)
y=int(x) #将字符型转换为数字型
二、提取输入数字中个十百千位
用返回除法的余数%解决问题
c=(y/1)%10 #个位
b=(y/10)%10 #十位
a=(y/100)%10 #百位
a=int(a)
b=int(b)
c=int(c)
三、直接比较输入的数字
在python中,可以直接比较输入的汉字是否相同
a=input("押大还押小,大或者小:")
c=("小")
if a==c:
print("True")
else:
print("False")
四、连续输出数字
在实际运用中,经常需要连续输出字符。
print(str(a)+str(b)+str(c)+...) #输出abc...
print(int(a)+int(b)+int(c)+..) #输出a+b+c+...
五、课堂学习内容
(一)python数据类型
1.number(数字)
整数
浮点型
复数(a+b;cpmplex(a,b))
2.string(字符串)
掌握\\用法
print('I\'m \"ok\"') # I'm "ok"
\n换行,\t制表符,字符\本身也需要转义,所以\\表示的字符就是\。
用r''“表示内部的字符串默认不转义。
>>> print('\\\t\\')
\ \
>>>print(r'\\\t\\')
\\\t\\
用'''表示多行内容:
>>> print('''line1
line2
line3''')
line1
line2
line3
3.Boolean(布尔值)
True False
3 > 2 #输出True
4.None(空值)
None不是0,None就是空值。
5.list(列表)
>>> list1 = ["张三", "王二", "李四"]
>>> type(list1)
<class 'list'>
6.tuple(元组)
元组一旦初始化就不能再修改
>>> tuple1 = ("张三", "王二", "李四")
>>> type(tuple1)
<class 'tuple'>
7.dict(字典)
使用键-值(key-value)存储,具有极快的查找速度。
>>> dict1 = {'lisi': 89, 'lili':90}
>>> type(dict1)
<class 'dict'>
8.set(集合)
>>> set1 = {"lisi", "wanger"}
>>> type(set1)
<class 'set'>
(二)python变量
删除变量,删除后的变量无法引用
a = 10
del age
交换变量
a,b=b,a
(三)python常量
(四)number
1.转换
int(x) 将x转换成一个整数
float(x) 将x转换成一个浮点数
2.数学函数
abs(x):返回数字的绝对值
(x > y)-(x < y) :比较大小,取值为正x>y ,取值为负x<y
max(n1, n2, n3,…):返回给定指定参数的最大值
min(n1, n2, n3):返回给定指定参数最小值
pow(x,y):求x的y次方的值
round(x, n):返回浮点数x的四舍五入值,如果给定n值,则代表舍入到小数点后的位数
在pycharm3.x版本以后 print(round(x.5)) 选择靠近偶数
例如 11.5取12 12.5取12
3.math模块的应用
导入math模块
math.ceil(x):返回x的向上取整数值
math.floor(x):返回x的向下取整的数值
math.modf(x):返回x的整数部分和小数部分,两部分的数值符号与x相同,整数部分以浮点数表示。
math.sqrt(x):反回数字的x的开平方根,返回类型为实数【浮点型】
4.随机数函数
导入random模块
random.choice([1,2,3,4]) :随机返回一个元素【从指定序列中挑选一个元素】
random.randrange(n):从0~n-1之间选择一个随机数
random.random() :随机产生[0,1)之间的数,结果为浮点数
l1 = [1, 2, 4, 5]
random.shuffle(l1) :将序列中的所有元素进行随机排列
random.uniform(m, n) :随机产生一个[m, n]之间的浮点数
5.三角函数
(五)算术运算符
假设变量 a = 10, b = 20
+ :加 两个对象相加 例如 a + b = 30
- :减 标识负数/一个数减去另一个数 a - b = -10
* :乘 两个数相乘/返回一个被重复若干次的字符串 a*b=200
/ : 除 b除以a b/a = 2
% : 取模 返回除法的余数 b%a = 0
** :幂,返回x的y次幂 a**b=10^20
// : 取整除返回商的整数部分 9//2=4, 9.0//2.0=4.0
(六)算术比较符
== 等于
!= 不等于
>= 大于等于
<= 小于等于
> 大于
< 小于
(七)赋值运算符与赋值运算表达式
复合运算符
+= 加法赋值运算符 a += b a = a + b
-= 减法赋值运算符 a -= b a = a - b
*= 乘法赋值运算符 a *= b a = a * b
/= 除法赋值运算符 a /= b a = a / b
%= 取模赋值运算符 a %= b a = a % b
**= 幂赋值运算符 a **= b a = a ** b
//= 取整除赋值运算符 a //= b a = a // b
(八)逻辑运算符
and运算是与运算,只有所有都为True,and运算的结果才是True
or运算是或运算,只要其中一个为True,or运算结果就是True
not 运算是非运算,它是一个单目运算符,把True变成False,False变成True
短路原则
表达式1 and 表达式2 and 表达式3 … 如果表达式1为假,则整个表达式的值为假,后面的表达式则没有计算的必要
表达式1 or 表达式2 or 表达式3 … 如果表达式1为真,则整个表达式的值为真,后面的表达式的值就没有计算的必要
(九)位运算符
& 按位与
| 按位或
^ 按位异或
~ 按位取反
<< 左移
>> 右移
1.与运算【&】
参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
3 & 2 = 2
0 1 1
0 1 0
------
0 1 0
2.按位或【|】
只要对应的两个二进位有一个为1时,结果位就为1
3 | 2 = 3
0 1 1
0 1 0
-----
0 1 1
3.按位异或【^】
当两对应的二进位相异时,结果为1
3 ^ 2 = 1
0 1 1
0 1 0
-----
0 0 1
4.按位取反【~】
正数的反码等于对应负数的补码
~3 = 4 ~-6 = 5
[0]0 0 1 1 #正数原码 [1] 0 1 1 0 #负数原码
----- -------
[1]1 1 0 0 #正数反码 (负数补码) [1] 1 0 0 1 #负数反码
------- #-1操作 ------- #+1操作
[1]1 0 0 1 #负数反码 [1] 1 0 1 0 #负数补码
------- ------- #反码操作
[1]0 1 1 0 #负数原码 [0] 0 1 0 1 #正数原码
5.左移运算符【<<】
运算数的各二进位全部左移若干位,由”<<”右边的数指定移动的位数,低位补0
注意:向左移动,右边空出来的补0,左移其实就是乘以2的位数次幂
3 << 2 = 12 = 3 * 2^2
0 1 1
------
0 1 1 0 0
6.右移运算符【>>】
把”>>”左边的运算数的各二进位全部右移若干位,”>>”右边的数指定移动的位数
注意:如果最高位0,右移后,用0补空位,如果最高位1,右移后,用1补空位,右移其实就是除以2的位数次幂。
3 >> 2 = 0 = 3/(2^2)
0 1 1
-----
0 0 0 1 1
-4 >> 2 = -1
1 0 0 0 0 1 0 0
----------------
1 0 0 0 0 0 0 1 0 0
(十)成员运算符
in:如果在指定的序列中找到返回值True,否则返回False
not in:如果在指定的序列中没有找到值返回True,否则返回False
>>>a = 10
>>>list1 = [1, 2, 4, 5]
>>>list2 =[20, 10, 15]
>>>print(a in list1)
False
>>>print(a in list2)
True
>>>print(a not in list)
True
>>>print(a not in list2)
False
(十一)身份运算符
(十二)分支语句
if 判断条件: 执行语句...
elif 判断条件:
else: 执行语句...