3基本数据类型
3.1数字类型
3.1.1整数类型
-oB/ob、00/0O、ox/0X
计算机仅进行二进制的运算
3.1.2浮点数类型
有进制和科学计数法俩种
1.1e3,<a>e<b>的表示方法。
浮点数的运算存在一个不确定的尾数类型
使用round函数可以解决此问题
round(a,3),表示对a保留三位小数
整数与浮点数相比,整数的精度更高
pow(a,32)、pow(a,0,32)
3.1.3复数类型
a+bj为复数,表示为(a,b)
z.real、z.imge 分别为取复数的实部和虚部,z表示为复数。
3.2数字类型运算
3.2.1数值运算符
3.2.1数值运算符
-/除、//整除、%取余数
-与 = 混合使用形成增强操作符
3.2.2数值运算函数
3.3字符串类型及格式化
-单行字符串与多行字符串的区别
单引号和双引号的嵌套使用
print('''这是多行字符串第一行
第二行
第三行''')
print("""第一行
第二行
第三行
""")
3.2.3转义符号
-\n,\,\t,'等
3.3字符串类型和格式化
3.3.1字符串索引
变量[序号]既为字符串的值
有三种方式,正向递增、反向递减、切片等操作。
3.3.2字符串的切片
变量[N:M]等
3.3.2format()方法的基本使用
模板字符串.format( , , ,)
槽位表示为{},与format的每一个逗号一一对应。
在大括号之中填有序号,则可以指定输出的位置
pring('{1} {0}'.format(' ',' '))
3.3.3format方法的格式控制
-{参数序号:格式控制标记}
{槽位:填充符号、对齐、长度,(千位分隔符).2f(位数、精度)类型}.format()
3.4字符串类型操作
3.4.1字符串操作符
3.4.2字符串处理函数
3.4.3字符串处理方法
注意使用前需要使用str的定义名称,既变量名称.操作的函数(操作的对象)。
3.5类型判断和类型间转换
-type用于判断字符串的类型
-隐式转换:自动默认进行的
-显示转换,使用函数
int、float、str三个改变字符串类型的函数
将字符串转化为整数需要确保字符串我整数。
如:int(float(4.21125))就可以,直接int(4.21125)会报错
案例:凯撒密码
加密原文P时候,每个字符+3
原文:C=(P+3)mod26
解密:(C-3)mod=P
*ord() # 计算机内码的函数
#加密
cipher=input('请输入明文文本:')
for p in cipher :
if 'a' <=p<='z' :
print(chr(ord('a')+ord(p)-ord('a')+3)%26),end=' ')
elif 'A'<=p<='Z':
print(chr(ord('A')+ord(p)-ord('A')+3)%26),end=' ')
else:
print(p,end=' ')
#解密
code=input('请输入密文文本:')
for p in cipher :
if 'a' <=p<='z' :
print(chr(ord('a')+ord(p)-ord('a')-3)%26),end=' ')
elif 'A'<=p<='Z':
print(chr(ord('A')+ord(p)-ord('A')-3)%26),end=' ')
else:
print(p,end=' ')
第二种版本,循环移位13位,即可以加密又可以解密
#利用字典进行操作
cipher='bag'
code='ont'
code_book={}
for i in (65,97) :
for j in range(26) :
d[chr(j+i)]=chr((j+13)%26+i)
print(' '.join(code_book.get(i,i) for i in cipher))
print(' '.join(code_book.get(i,i) for j in code))
第三种版本
#加密中文
cipher=input('请输入明文文本:')
for p in cipher :
if 'a' <=p<='z' :
print(chr(ord('a')+ord(p)-ord('a')+3)%26),end=' ')
elif 'A'<=p<='Z':
print(chr(ord('A')+ord(p)-ord('A')+3)%26),end=' ')
elif 0x4e00<=p<=0x9FA5:
print (chr(ord(p)+3),end=' ')
print(p,end=' ')