前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、数字类型以及操作
目标
1.熟悉数字类型的内容
2.掌握数字类型的操作
整数类型int
-
和数学里的整数定义相符(可正可负,没有范围限制)
表现形式
表现形式 | |
---|---|
二进制 | 以0b开头或0B开头 0b101 |
八进制 | 以0o开头或0O开头 0o123 |
十进制 | 10 |
十六进制 | 以0x或0X开头 0x97 |
浮点数类型float
- 带有小数点和小数的数字(浮点数取值范围和小数精度都存在限制,但常规计算可以忽略)
表现形式 | |
---|---|
十进制 | 1.0 |
指数 | 1E<-1> |
补充:浮点数运算存在不确定尾数,不是bug
复数类型complex
- 与数学中的复数一致
a+b*j 为复数 | 其中a是实部,b是虚部 |
z.real获得实部 | z.imag获得虚部 |
数值型操作
- 操作运算符
操作符 | 描述 |
---|---|
x+y | 加 x和y之和 |
x-y | 减 x于y之差 |
x*y | 乘 x,y之奇 |
x/y | 除 x,y之商 |
x//y | 整除 |
+y | x本身 |
-y | x的负数 |
x%y | 余数 |
x**y | 幂运算 |
- 运算函数
函数 | 描述 |
---|---|
abs(x) | 绝对值 |
divmod(x,y) | 商余(x//y,x%y)同时输出商和余数 |
pow(x,y) | 幂函数 |
round(x,y) | 四舍五入,默认为0 |
max(x,…) | 最大值 |
min(x,…) | 最小值 |
int(x) | 将x变为整数,舍弃小数部分 |
float(x) | 将x变为浮点数,增加小数部分 |
complex(x) | 将x变为复数,增加虚数部分 |
二、字符串类型以及操作
1.熟悉字符串类型的相关内容
2.掌握字符串相关操作
字符串类型
-
由0个或多个字符组成的有序字符序列
-
字符串表达方式
-
字符串由一对单引号或一对双引号表示
-
由一对三单引号或三双引号表示,可表示多行字符串
-
-
字符串是有序序列,可以对其中字符进行索引
- 正向递增序列和反向递减序号
字符串操作符
操作符 | 描述 |
---|---|
x+y | 连接字符串x和y |
nx或xn | 复制n次字符串x |
x in s | 如果x是s的字符串,返回True,否则返回False |
字符串切片
"""
索引遵循顾头不顾腚原则
索引位置从0开始
"""
#提取字符串中thon
print(s[2:])
#提取字符串yhn
print(s[::2])
#提取字符串nohtyp
print(s[::-1])
字符串处理函数
函数和使用 | 描述 |
---|---|
len(x) | 长度,返回字符串x的长度 |
str(x) | 任意类型x对应的字符串形式 |
hex(x) 或oct(x) | 整数x的十六进制或八进制小写的字符串 |
chr(x) | x为Unicode的编码,返回其对应的字符串 |
ord(x) | x为字符,返回其对应的Unicode的编码 |
#求出字符串"python is protable"
s="python is protable"
print(len(s))#17
三、拓展
三次方格式化
-
获得用户输入的一个数字,可能是整数或浮点数,a,计算a的三次方值,并打印输出。
输出结果采用宽度20个字符、居中输出、多余字符采用减号(-)填充。
如果结果超过20个字符,则以结果宽度为准。
s=eval(input())
result=pow(s,3)
print("{:-^20}".format(result))
-------------------------------
user=input('')
print("{:-^20}".format(pow(eval(user),3)))
凯撒密码
恺撒密码是古罗马恺撒大帝用来对军事情报进行加解密的算法,它采用了替换方法对信息中的每一个英文字符循环替换为字母表序列中该字符后面的第三个字符,即,字母表的对应关系如下:
原文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
对于原文字符P,其密文字符C满足如下条件:C=(P+3) mod 26
上述是凯撒密码的加密方法,解密方法反之,即:P=(C-3) mod 26
假设用户可能使用的输入包含大小写字母azAZ、空格和特殊符号,请编写一个程序,对输入字符串进行恺撒密码加密,直接输出结果,其中空格不用进行加密处理。使用input()获得输入。
#对于凯撒密码加密 C=(P+3)mod 26
#字符串chr()、ord()函数的使用
s=input()#作为接收用户输入
w=""
for i in s:
if 'a'<=i<='z':
w+=chr(ord('a')+((ord(i)-ord('a'))+3)%26)
elif 'A'<=i<='Z':
w+=chr(ord('A')+((ord(i)-ord('A'))+3)%26)
else:
w+=i
print(w)
习题巩固
1.关于二进制整数的定义,正确的是()
A.0B1014
B.0b1010
C.0B1019
D.0bc3F
2.在Python中,关于数据类型的描述错误的是()
A.整数的书写格式支持十进制、二进制、八进制和十六进制
B.如果想知道参数的数据类型,可以使用type()函数获得
C.整数、浮点数、复数和布尔值都是python基本数据类型
D.浮点数是带有小数的数字,它存在范围限制,如果计算结果超出上限和下限的范围不会报错,但有warning警告
3.关于Python中复数类型的描述错误的是()
A.复数由实数部分和虚数部分构成
B.复数可以看作二元有序实数对(a,b)
C.虚部部分必须有后缀j,且为小写
D.复数中的虚数部分不能单独存在,必须有实数部分
4.Python运算符的使用描述正确的是()
A.a=!b 比较a和b是否不相等
B.a=+b 等于a=a+b
C.a==b,比较a与b是否相等
D.a//=b,等同与a=a/b
5.表达式 divmod(40,3)的结果是()
A.13,1
B.(13,1)
C.13
D.1
6.以下代码输出的结果是()
a=10.99
print(complex(a))
A.0.99
B.10.99i+j
C.10.99
D.(10.99+0j)
7.关于字符串类型操作描述,正确的是()
A.想把一个字符串str所有的字符都大写,用upper(str)
B.设x=“aaa”,则执行x/3的结果是a
C.想获取str的长度,用字符串处理函数len(str)
D.str.isnumeric()方法把字符串str中数字字符变成数字
8.Python语言中,以下表达式结果为False的选项是()
A.“CD”<“CDFG”
B.“DCBA”<“DC”
C." "<“G”
D.“LOVE”<“love”
9.关于字符串描述正确的是()
A.字符串视为1或2的字符串
B.字符串中的字符可以进行数学运算,但进行数字运算的字符必须为数字
C.在三引号字符串中可以包含回车等特殊字符
D.字符串可以进行切片赋值
10.关于Python字符串编码的描述中,正确的是()
A.Python字符串编码使用ASCll编码存储
B.chr(x) 和ord(x) 函数用于在单字符和Unicode编码之间进行转换
C.print(chr(‘a’)) 输出97
D.print(ord(65)) 输出A
11.以下代码输出的结果是()
x=‘R\0S\0T’
print(len(x))
A 3
B 5
C 7
D 6
12 以下程序输出的结果是()
a,b,c='I',chr(64),'you'
s=a+b+c
print(s)
A I@you
B I you
C I 4 you
D I chr(64) you
13 对于以下代码的描述正确的是()
S="Python is good"
I="isn't it"
length=len(s)
s_title=s.title()
s_l=s+l
s_number=s[1:6]
print(length)
A length为12
B s_title为“PYTHON IS GOOD”
C s_l 为“Python is goodisn‘t it?”
D s_number为“Python”
14 以下语句的执行结果是()
result='12345678'
print(result[1:-1:2])
A 2468
B 246
C 1357
D 24
15 若使下面程序执行的结果为144,空格处应该填写的代码是()
x="bee"
y=" "
for i in x:
y+=str(_____)
print(y)
A ord(“i”)-ord(“a”)
B ord(“x”)-ord(“a”)
C i-‘a’
D chr(i)-chr(‘a’)
16 对于序列S,能够返回序列S中第i到第j以K为步长的子序列的表达是()
A s[i:j:k]
B s[i,j,l]
C s[i;j;k]
D s(i,j,k)
17 下面选项中,Python不支持的数据类型是()
A int
B char
C float
D string
答案
1 .B 二进制整数 ob开头 由1和0组成.
-
D 浮点数超出了会溢出,而不是不会报错.
-
C 关于实数 虚部部分不分大小写
-
C.关于Python运算符,AB两项位置放置错误 D项除和整除有区别.
5.B 考查divmod函数的使用,即求商和余,且结果是元组类型。
6.D 考查complex函数的使用。
7.C 处理字符串,要使第一个字母大写,即用title()函数,B项字符串没有直接除数,D项isnumberic是判断字符是否为小数,而不是变成数字。
8.B 关于Python语言中字符串的比较,先比较第一个字母,再比较下一个字母,B>""
9.D 字符串能切片,但是不能赋值
10.B Python中的字符编码是UTF-8,C选项chr()返回其字符串,D项返回其Unicode编码。
11.B 考察len()函数使用 通过\转义 一共有5个字符 选择B
12.A chr(64) 即为@ 答案为A
13.C length长度为14(空格字符串也是)title()函数的作用是每个字符串开头大写,D项切片应该是ython 所以选择C
14.B 考查字符串切片 步长为2 从2开始 进行切片 即B项。
15.A 考查ord和chr函数使用,b的unicode为98 ,e为101 ,144即1+4+4 即选择A项
16.A 根据题意 以k为步长 从i到j 即A项
17.B Python中没有字符(char)类型