Python基础题
概述
目前来说Python在我们生活中用到的地方越来越多,个人认为它可以提升生活品质如每天把周围好吃的小吃检索出来定期发到邮箱;对于从业测试行业的小伙伴来说,Python语言已是必不可少的一门技能如测试开发、性能测试、安全测试等在工作中难免会开发一款适合自己公司业务和实际情况的工具。所以对公对私熟练应用Python还是有必要的。 下面是我总结的一些题干知识点,贡献给大家参考。
详解
| 知识点 | 题型 | 分值 | 题干 | 选项 | 正确答案 | 答案解析 |
| 数据类型 | 判断 | 3 | a=\'python\' b=\'是世界上最好的语言,\' c=\'没有之\' d=\'1.7\' print(a+b+c+str(int(d))) 此代码的输出结果为: python是世界上最好的语言,没有之1 |
错误 | str(int(float(d))) 字符串不能直接取整,需要先把字符串中的小数转换为浮点数,再将浮点数取整,最后转化为字符串与相同类型的数值类型相连接 |
|
| 基础函数 | 判断 | 3 | 以下代码运行结果是: 千寻你好,人们叫我\'无脸男\' 只有你看到了我并和我打招呼 你愿意和我成为朋友吗? print("千寻你好,人们叫我\'无脸男\'\n 只有你看到了我并和我打招呼\n 你愿意和我成为朋友吗?") |
错误 | 只有三引号才能白柳段落状态,使用换行符时,将其与代码写在一行上即可 | |
| 基础函数 | 判断 | 3 | 以下代码的运行结果是:你兑换的银币数量为:30 gold=5 print(\'你兑换的银币数量为:str(gold*6)\') |
错误 | 运行结果为:你兑换的银币数量为:str(gold*6) print()函数单引号里的内容会原样打印出,不会进行运算 |
|
| 基础函数 | 判断 | 3 | a = [1, 2, 3] b = a.append(4) print(b) 此代码的打印结果为:[1, 2, 3, 4] |
错误 | 先不管append在做什么添加操作,只看这是把一个函数赋值给一个变量,那么此变量得到的数据就会是这个函数的返回值,append()函数没有返回值,所以默认是None,所以打印的结果应该为None | |
| 布尔值 | 判断 | 3 | a = 0 if a: print(123) 上述代码最后的print语句不会被执行。 |
正确 | 代码的是否运行取决于布尔值是否为True,0的布尔值为False,所以print语句不会执行。 | |
| 字典 | 判断 | 4 | 可以使用下面的代码加入酱酱的分数。 dic = {\'卡西\': 100, \'延君\': 97, \'正义\': 99, \'七七\': 96} dic.append(\'酱酱\': 100) print(dic) |
错误 | 字典是无序的,因此字典增加元素是通过增加键值的方式增加,即dic[\'漫漫\'] = 100这种方式增加 | |
| 基础语法 | 单选 | 5 |
以下代码是哪一行出错了: a=int(input(\'请输入你的成绩:\') if a<60: print(\'挂科啦\') else: if a<70: print(\'低分飘过\') print(\'恭喜通过考试\') |
A. 第一行 B. 第二行 C. 第五行 D. 第七行 |
A | 第一行少了括号,会报错无效语法 |
| 基础语法 | 单选 | 5 | 以下代码会输出几次‘明日复明日’? for i in range(5): print(\'明日复明日\') if i==3: break |
A. 3次 B. 4次 C. 5次 D. 报错无法输出 |
B | for i in range(5): #遍历5次:0,1,2,3,4 print(\'明日复明日\') if i==3: 遍历4次:0,1,2,3 break |
| 基础函数 | 单选 | 5 | 在终端输入5,下面代码的显示结果是 choice = input("请输入密码:") if choice == 5: print("hello world") else: print("请不要开这种玩笑") |
A 请输入密码: B 代码报错,无法运行 C hello world D 请不要开这种玩笑 |
D | python3中,input函数输入的返回值的数值类型为字符串,所以当我们输入5时,程序得到的是字符串5,而不是整数5 |
| 条件判断 | 单选 | 5 |
下面哪一条代码在运行时会陷入无限循环? |
A. while 100>101: print(\'while False\') B. while 100<101: print(\'while True\') C. while False: print(\'while False\') D. if True: print(\'if True\') |
B | AC错误,当while判断条件为假,不进入循环; B正确,while100< 101 条件为真,并且放行条件不会被办事流程改变,所以一直会进入循环打印print()语句; D错误, if单向判断只会进行一次判断,不会无限循环。 |
| 基础函数 | 单选 | 5 | a = 7 b = 8 print(\'你吃%d个苹果,我吃%d个香蕉\' % (b, a)) 请选出正确的运行结果: |
A. 程序错误 B. 你吃7个苹果,我吃8个香蕉 C. 你吃7个苹果,我吃7个香蕉 D. 你吃8个苹果,我吃7个香蕉 |
D | 当使用格式化字符串%传入多个参数时,入多个参数时,需要使用元祖格式传入,传入的位置与前面格式化字符串%所占位置是一一对应的,因此选D。 |
| 循环 条件判断 循环进阶语句 |
单选 | 5 | 学员小十想要写一段代码来打印100以内的所有奇数,请你补全遗漏的代码。 num = 0 while num < 100: num += 1 if num % 2 == 0: # 遗漏的代码 print(num) |
A. break B. pass C. else: D. continue |
D | A. 错误,打印结果为1。 B. 错误,打印结果为1-100的所有整数。 C. 错误,else没有这种使用方式。 D. 正确,如果num % 2的结果为0(num为偶数),那么跳回循环开头,如果不为0(num为奇数),打印num。 |
| 列表和字典 | 单选 | 5 | data = [ {\'陈奕迅\': [\'岁月如歌\', \'富士山下\', \'无条件\'], \'张敬轩\':[ \'我的天\', \'酷爱\', \'余震\'], \'杨千嬅\':[\'野孩子\', \'少女的祈祷\', \'寒舍\']}, [\'小龙女\', \'杨过\', \'郭芙蓉\'], [\'东邪西毒\', \'东成西就\', \'阿飞正传\', \'花样年华\', \'2046\'], {\'李安\': \'少年派的奇幻漂流\', \'诺兰\': \'盗梦空间\', \'陈凯歌\': \'霸王别姬\'} ] 打印列表data里的“霸王别姬”的正确方法是: |
A.print(data[4][\'陈凯歌\']) B.print(data[4][2]) C.print(data[3][\'陈凯歌\']) D.print(data[3][2]) |
C | 该列表是嵌套了字典和列表的形式,一共有4个元素,霸王别姬在最后一个元素,所以偏移量为[3],最后一个元素是一个字典,霸王别姬是一个值,因此提取键名[\'陈凯歌\']可以提取出“霸王别姬”。 |
| 函数构成与调用 | 多选 | 8 | 小韩在定义函数的时候,记混了一些函数的相关知识和规则,请帮他选出正确的选项: | A.def 函数()括号内是设置该函数的参数,也可以设置为无参数。 B.参数可以在括号中设置默认值,例如“def hanshu(canshu=\'123\'):”,那么这种情况下调用该函数的时候可以不给参数canshu传参。 C.函数必须设置return 值,不然会报错。 D.函数内容以冒号起始,并且缩进。 |
ABD | A.正确 B.正确,但是如果有多个参数,那么有默认值的参数需要排在括号的后面,需要传参的参数排在前面。 C.错误,不设置的话默认return None,并不会报错。 D.正确。 |
| 函数调用 局部变量 |
多选 | 8 | 能够打印“酱酱喜欢阳光和沙滩。“的选项有: | A. b = \'酱酱\' def name(): print(\'%s喜欢阳光和沙滩。\'%b) name() B. def name(): global b b = \'酱酱\' name() print(\'%s喜欢阳光和沙滩。\'%b) C. b = \'酱酱\' def name(): b = \'蓬蓬\' print(\'%s喜欢阳光和攀沙滩。\'%b) name() D. def name(): b = \'酱酱\' name() print(\'%s喜欢阳光和沙滩。\'%b) |
AB | A:全局变量b可作为局部变量使用,该选项正确; B:局部变量不可作为全局变量使用,但是该选线将局部变量b声明为全局变量,因此可在函数外调用变量b,该选项正确; C:该选项第一行将延君赋值给变量b,但是在函数内部又对变量b重新赋值,因此变量b的值被改变,打印结果不符合题意,排除该选项; D:若局部变量未声明为全局变量,不能调用“局部变量”,排除该选项。 |
| 模块调用 | 单选 | 6 | 下列有两个文件在同一个路径,分别是tea.py和go.py。运行go.py结果是: # tea.py内容 print(\'乌龙茶\') def a(): print(\'大红袍\') if __name__ == \'__main__\': print(\'绿茶\') a() # go.py内容 import tea print(\'铁观音\') |
A.乌龙茶,绿茶,大红袍,铁观音 B. 乌龙茶 铁观音 C.铁观音,乌龙茶,绿茶,大红袍 D. 铁观音 乌龙茶 |
B | import tea即可调用tea.py这个模块; 调用模块后,首先执行print(\'乌龙茶\'); go.py中没有调用a()方法,不执行print(\'大红袍\'); 由于print(\'绿茶\')处于if __name__ == \'__main__\':中,在tea模块被调用的时候,不执行。 因此调用tea.py模块后,打印乌龙茶; 再执行go.py中的print(\'铁观音\'),打印铁观音。 因此,选项B正确。 |
| 文件读写 | 单选 | 5 | 下方代码的写入模式如何修改,才能在追加模式下实现读取: f = open(\'test.txt\',\'a\',encoding=\'utf-8\') text = f.read() print(text) |
A. \'ab\' B. \'ab+\' C. \'a+\' D. \'ar\' |
C | A选项,a为只追加的模式,文件存在指针放在末尾,文件不存在则新建 B选项,ab 为二进制的追加模式,文件存在指针放在末尾,文件不存在则新建 C选项,a+ 为追加且可读模式,文件存在指针放在末尾,文件不存在则新建 D选项,ab+ 为二进制的追加且可读模式,文件存在指针放在末尾,文件不存在则新建 |
| 编码解码 | 单选 | 5 | 下列说法错误的是: | A. Ascll是国际标准编码,8位二进制表示一个字符,最先产生 B. Unicode是万国码,通用,16位二进制表示一个字符 C. utf-8能用多少位表示就用多少位,3个字节表示中文,可以和Unicode互相转换 D. gbk是为英文发明,2个可以表示中文,可以和Unicode互相转换 |
D | D选项错误,gbk 是为汉字发明,2个可以表示中文,可以和Unicode互相转换 |
| 循环 条件判断 |
简答题 | 6 | 《禁止超重》动物园里的熊猫饲养员,在逐一给熊猫们称体重,体重信息被保存在panda_list = {\'1号\': \'100\', \'2号\': \'86\', \'3号\': \'130\', \'4号\': \'140\', \'5号\': \'52\',\'6号\': \'99\'},体重大于110的熊猫,将熊猫编号放入overweight的列表中。请在终端中打印出overweight的结果。 | # panda_list = {\'1号\': \'100\', \'2号\': \'86\', \'3号\': \'130\', \'4号\': \'140\', \'5号\': \'52\',\'6号\': \'99\'} # 请在下方写入的你代码 |
overweight=[] panda_list={\'1号\':\'100\',\'2号\':\'86\',\'3号\':\'130\',\'4号\':\'140\',\'5号\':\'52\',\'6号\':\'99\'} for panda in panda_list: if int(panda_list[panda])>110: overweight.append(panda) print(overweight) |
|
| 文件读写 | 简答题 | 8 | 小唐爱看村上春树的小说,电脑里存了很多他的小说。小唐想把用代码将所有小说都放在同一个txt文档里,决定先拿三本书试一下。 补充以下代码,将\'挪威的森林.txt\'和\'世界尽头与冷酷仙境.txt\'这两本小说的内容,放在\'村上春树合集.txt\'中。 |
file1 = open(\'挪威的森林.txt\', \'r\', encoding=\'utf-8\') # 代码1 file1.close() file2 = open(\'世界尽头与冷酷仙境.txt\', \'r\', encoding=\'utf-8\') # 代码2 file2.close() new_file = open(\'村上春树合集.txt\', \'a\', encoding=\'utf-8\') new_file.writelines(file_lines1) # 代码3 new_file.writelines(file_lines2) new_file.close() |
file1 = open(\'挪威的森林.txt\', \'r\', encoding=\'utf-8\') file_lines1 = file1.readlines() # 使用readlines()读取file1的内容 file1.close() file2 = open(\'世界尽头与冷酷仙境.txt\', \'r\', encoding=\'utf-8\') file_lines2 = file2.readlines() # 使用readlines()读取file2的内容 file2.close() new_file = open(\'村上春树合集.txt\', \'a\', encoding=\'utf-8\') new_file.writelines(file_lines1) new_file.writelines(\'\n\') # 给新文件换行,区分第一个文件和第二个文件 new_file.writelines(file_lines2) new_file.close() |
|
| 100 | ||||||
其他参考链接
https://maimai.cn/article/detail?fid=1460066022&efid=mhp25kI7HaiwM1gkEIIPMQ&use_rn=1