选择题
1.以下关于列表元素查找的说法,正 确的是?
A 使用 in 关键字查找元素时,如果 元素存在返回元素的下标,不存在 返回 -1
解析: A 选项:in 关键字用于判断元素是 否在列表中,存在返回 True,不存 在返回 False,而不是返回下标或 -1,A 选项错误
B index () 函数和 find () 函数都可 以用于查找元素在列表中的位置, 功能相同
解析: B 选项:列表中没有 find () 函数, index () 函数用于查找元素在列表 中的下标,如果元素不存在会报 错,与其他数据类型中的 find () 函 数功能不同,B 选项错误。
C 使用 count () 函数可以统计元素 在列表中的出现次数,如果次数大 于 0 则表示元素存在
D 列表的查找操作只能用于查找数字 元素,不能查找字符串等其他类型 元素
正确答案 C 我的答案 B
总结:列表具有哪些函数没有记住,find()是字符串数据类型拥有的函数
2.以下关于字符串连接操作的说法, 正确的是?
A 只能使用加号(+)连接两个字符串
B 可以使用逗号(,)连接字符串,连 接后的字符串会用逗号分隔
解析:逗号(,)在 print 函数 中用于分隔多个参数,不是连接字 符串的操作,B 选项错误。
C 使用加号(+)连接字符串时,会 创建一个新的字符串对象
D 连接字符串的效率很高,与连接的 字符串数量无关
正确答案 C 我的答案 B
总结:纠结B项,感觉好像是用逗号分割。
主观题
1.运算符的优先级
Python 中运算符优先级(从上向下 排列,上面的优先级最高)为:圆 括号 ()(圆括号内的表达式拥有最 高优先级)、**(乘方运算)、 *、/、%、//(算术运算符,先乘除 后加减顺序)、+、-(算数运算 符)、<<、>>(位运算符的左移 与右移)、&(位运算符的按位 与)、^(位运算符的按位异 或)、|(位运算符的按位或)、 >、<、>=、<=、==、!=(比较 运算符)、and、or(逻辑运算 符)、=、+= 等赋值运算符(优先 级最低)。
总结:忘记()括号为最高优先级别
2.请说明在 Python 中,将一种数据 类型转换为另一种数据类型时可能 会遇到哪些问题
数据精度丢失:当将浮点数转 换为整数时,小数部分会被截 断。例如,将 3.9 转换为整 数,结果为 3,丢失了 0.9 的 精度。 非法转换:尝试将不合法的字 符串转换为数字类型时会报 错。例如,int ("abc") 在转换 时会报错。 数据结构转换不匹配:当将不 适合的数据结构进行转换时可 能得到意外结果。比如 dict(1)。
总结:将 3.9 转换为整 数,我认为变为4了,实际不四舍五入,直接砍掉小数;例如int(2.1),int(2.9)均等于2,int(-2.9)=-2
3.阐述字符串比较在 Python 中的工 作原理,包括字符编码的作用以及 比较的顺序。
在 Python 中,字符串比较是逐个 字符进行的。比较的依据是字符的 Unicode 编码值(ASCII 码值是 Unicode 编码值的一部分,对于常 见字符也适用)。比较顺序是从字 符串的第一个字符开始,依次比较 对应位置的字符。如果两个字符的 编码值相同,则继续比较下一个字 符,直到找到不同的字符或者比较 完所有字符。 例如,比较 "abc" 和 "abd",首先 比较第一个字符 'a' 和 'a',相同; 接着比较第二个字符 'b' 和 'b',相 同;然后比较第三个字符 'c' 和 'd',因为 'c' 的 Unicode 编码值小 于 'd' 的编码值,所以 "abc" < "abd"。如果两个字符串长度不同, 较短的字符串在比较完其所有字符 后,如果没有不同字符,则较短的 字符串小于较长的字符串,如 "abc" < "abcd"。字符编码在这个 过程中决定了每个字符的大小关 系,从而确定字符串的比较结果。
总结:
1.我没有想到长度不同这种比较情况
2.Unicode编码是包含ASCII编码的,比较的就是编码值
浙公网安备 33010602011771号