Python 刷题笔记
本文记录了我在使用python刷题的时候遇到的知识点。
选择、填空题
Python3 中,布尔型只有 True 和 False 两个值,但它们的值本质上是 1 和 0,因此它们可以和数字进行数学运算。 正确 e.g. True+1 == 2
在Python 3.X版本中,整除运算符产生的结果的数据类型可能为浮点型 正确 e.g. 33.2 // 3 == 11.2
要将3.1415926变成00003.14,如何进行格式化输出 "%08.2f"% 3.1415926
如果一句Python代码过长,可在行末写下符号"/",然后换行继续写 错误 分行是\或者()
字典的键可以是字符串常量也可以是整型常量,甚至还可以是列表 错误 列表不能作为字典的键
对于数字n,如果表达式 0 not in [n%d for d in range(2, n)]的值为True,则说明n是素数 正确
列出了所有的 n% 2~n的数字值 如果0不在就说明是素数
for循环结束后,循环变量i不存在,导致程序错误 错误!
i变量会是最后的值
表达式(i**2 for i in range(100))的结果是个元组 错误! 这是一个生成器 e.g.
(i**2 for i in range(10))
> for i in a:
... print(i)
0 1 4 9 16 25 ...
正则表达式'\d{5}'可用来检查字符串是否为5个数字字符组成的字符串 错误
可匹配5个数字的模式 但是一串可能有多个这样的子串?
下面不能严格匹配YYYY-MM-DD这样日期格式的正则表达式是
A.\d{4}-\d{2}-\d{2}
B.[0-9]-[0-9]-[0-9]
C.[0-9]{4}-[0-9]{2}-[0-9]{2}
D.[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]
如果递归函数没有递归结束的语句,将会导致无穷递归,从而执行时出现“死循环” 错误
解释:递归是不断有函数进入栈,就像翻不完的书,不是死循环。
write方法用于把字符串写入文本文件并在最后添加换行符。 错误
如果首先以读模式打开一个文件,然后用seek方法把文件指针定位到文件的最后,再通过tell方法就可以得到一个文件的长度。 ** 正确**
异常 a undefined
def main():
a,b=eval(input())
try:
s=a/b
print(s)
except:
print("Divide 0!")main()
基本输入输出
sys.stdin 与input
sys.stdin.readlines() or readline
前者一次读入多行,返回一个行列表,每个元素为输入的每行内容。
结束输入Linux: ctrl+d+enter, Windows: c