python练习题-答案
- 格式:doc
- 大小:161.50 KB
- 文档页数:11
Python习题+参考答案一、单选题(共57题,每题1分,共57分)1.以下不是 Python 语言关键字的选项是( )A、returnB、defineC、defD、in正确答案:B2.实现以下哪个方法可以让对象像函数一样被调用 ( )A、next()B、str()C、call()D、iter()正确答案:C3.下列表达式的值为True的是( )A、1==1 and 2!=1B、3>2>2C、(2**=3)<(2*=3)D、not(1==1 and 0!=1)正确答案:A4.关于下面的代码,以下选项中描述正确的是( ) >>> list(range(0,10,2))A、按关键字参数调用B、按可变参数调用C、执行结果为0, 2, 4, 6, 8D、按位置参数调用正确答案:D5.下面代码的输出结果是( ) str1=“k:1|k1:2|k2:3|k3:4” str_list=str1.split(’|’) d= {} for l in str_list: key,value=l.split(’:’) d[key]=value print(d)A、[k:1,k1:2,k2:3,k3:4]B、{‘k’: ‘1’, ‘k1’: ‘2’, ‘k2’: ‘3’, ‘k3’: ‘4’}C、[‘k’:‘1’, ‘k1’:‘2’, ‘k2’:‘3’,‘k3’:‘4’]D、{k:1,k1:2,k2:3,k3:4}正确答案:B6.对于序列s,能够返回序列s中第i到j以k为步长的元素子序列的表达是( )A、s[i, j, k]B、s(i, j, k)C、s[i; j; k]D、s[i:j:k]正确答案:D7.以下选项中,输出结果为False的是( )A、>>> ‘python’ < ‘pypi’B、>>> ‘ABCD’ == ‘abcd’.upper()C、>>> ‘python123’ > ‘python’D、>>> ‘’<‘a’正确答案:A8.下面代码的输出结果是( )>>> bin(10)A、‘0o1010’B、‘0d1010’C、‘0b1010’D、‘0x1010’正确答案:C9.以下关于Python缩进的描述中,错误的是( )A、Python用严格的缩进表示程序的格式框架,所有代码都需要在行前至少加一个空格B、缩进是可以嵌套的,从而形成多层缩进C、缩进表达了所属关系和代码块的所属范围D、判断、循环、函数等都能够通过缩进包含一批代码正确答案:A10.字符串函数strip()的作用是( )A、替换字符串中特定字符"B、去掉字符串两侧空格或指定字符C、按照指定字符分割字符串为数组D、连接两个字符串序列正确答案:B11.以下程序的输出结果是( ) t = “Python” print(t if t >=“python” else “None”)A、pythonB、PythonC、NoneD、t正确答案:C12.关于列表数据结构,下面描述正确的是( )A、不支持 in 运算符B、必须按顺序插入元素C、可以不按顺序查找元素D、所有元素类型必须相同正确答案:C13.字典对象的______________方法返回字典的“值”列表A、values()B、keys()C、key()D、items()正确答案:A14.计算表达式 1234%1000//100 的值为A、3B、4C、1D、2正确答案:D15.下面代码的输出结果是( )for n in range(100,200): i = n // 100 j = n // 10 % 10k = n% 10if n == i ** 3 + j ** 3 + k ** 3:print(n)A、159B、153C、157D、152正确答案:B16.以下选项中,对程序的描述错误的是( )A、程序是由一系列函数组成的B、程序是由一系列代码组成的C、可以利用函数对程序进行模块化设计D、通过封装可以实现代码复用正确答案:A17."给出如下代码以下选项中描述正确的是( ) for i in range(6): print(chr(ord(9801)+i),end="")"A、chr (“a”)返回"a"字符对应的Unicode编码B、输出结果为C、ord(x)函数返回x的Unicode编码对应的字符D、系统报错正确答案:D18."以下程序的输出结果是: for i in range(3): for s in “abcd”: if s==“c”: break print (s,end="")"A、abababB、aaabbbC、abcabcabcD、aaabbbccc正确答案:A19.当需要在字符串中使用特殊字符时,Python使用( )作为转义字符的起始符号A、#B、\C、%D、/正确答案:B20.以下关于Python自带数据结构的运算结果中正确的是( )项?A、basket = [‘apple’, ‘banana’, ‘apple’, ‘orange’] ; fruit = set(basket); len (fruit) 的运算结果是4。
Python练习题+参考答案一、单选题(共57题,每题1分,共57分)1.关于Python的全局变量和局部变量,以下选项中描述错误的是( )A、简单数据类型变量无论是否与全局变量重名,仅在函数内部创建和使用,函数退出后变量被释放B、全局变量指在函数之外定义的变量,一般没有缩进,在程序执行全过程有效C、使用global保留字声明简单数据类型变量后,该变量作为全局变量使用D、局部变量指在函数内部使用的变量,当函数退出时,变量依然存在,下次函数调用可以继续使用正确答案:D2.以下关于循环结构的描述,错误的是:A、遍历循环对循环的次数是不确定的B、遍历循环的循环次数由遍历结构中的元素个数来体现C、非确定次数的循环用 while 语句来实现,确定次数的循环用 for 语句来实现D、非确定次数的循环的次数是根据条件判断来决定的正确答案:A3.以下不能创建一个字典的语句是( )A、dict = {(4,5,6):‘dictionary’}B、dict = {[4,5,6]:‘dictionary’}C、dict= {4:6}D、dict = {}正确答案:B4.下面哪一个不是Python语言的合法命名( )A、3monthlyB、monthlyC、monTHlyD、_Monthly3_正确答案:A5.以下选项中不是文件操作函数或方法的是( )A、readB、writelinesC、readlinesD、load正确答案:D6.以下关于Python循环结构的描述中,错误的是( )A、遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数B、continue只结束本次循环C、break用来结束当前次语句,但不跳出当前的循环体D、Python通过for、while等保留字构建循环结构正确答案:C7.在print函数的输出字符串中可以将( )作为参数,代表后面指定要输出的一个字符。
A、%dB、%tC、%cD、%s正确答案:C8.下列快捷键中能够中断(Interrupt Execution)Python程序运行的是( )A、F6B、Ctrl + QC、Ctrl + CD、Ctrl + F6正确答案:C9.字符串是一个字符序列,例如,字符串s,从右侧向左取第3个字符用( )索引?A、s[0:-3]B、s[-3]C、s[3]D、s[:-3]正确答案:B10."下面代码的输出结果是( ) for a in ‘mirror’: print(a, end="") if a == ‘r’: break"A、MirrorB、mirC、mirrorD、mi正确答案:B11.字符串是一个连续的字符序列,用( )方式打印出可以换行的字符串。
Python选择题练习50道(含答案)50道选择题:1. 下面哪条语句可以打印出"Hello, World!"?A. print("Hello, World!")B. echo("Hello, World!")C. printf("Hello, World!")D. system.out("Hello, World!")答案:A。
print() 用于输出结果,而且Python 是大小写敏感的。
2. 在Python 中,下划线(_)代表什么?A. 乘法操作符B. 变量名C. 匿名函数D. 上一个表达式的结果答案:D。
在Python 解释器中,_ 表示上一个表达式的结果。
3. 在Python 中,如何声明字符串变量strVar 并将其初始化为"Hello, World!"?A. strVar = "Hello, World!"B. string strVar = "Hello, World!"C. str strVar = "Hello, World!"D. var strVar = "Hello, World!"答案:A。
在Python 中,使用变量名= 值的语法来声明和初始化变量。
4. 在Python 中,以下哪条语句可以将两个列表list1 和list2 中的元素合并到一个新的列表newList 中?A. newList = list1 + list2B. newList = list1.append(list2)C. newList = list1.extend(list2)D. newList = list1.join(list2)答案:A。
在Python 中,使用加号运算符(+) 将两个列表合并在一起,而append() 和extend() 方法用于向列表中添加元素。
Python习题(含答案)一、单选题(共57题,每题1分,共57分)1.关于Python字符编码,以下选项中描述错误的是()A、Python可以处理任何字符编码文本B、Python默认采用Unicode字符编码C、chr(x)将字符转换为Unicode编码D、ord(x)和chr(x)是一对函数正确答案:C2.下列语句中,()在Python中是非法的。
A、x=(y=z+1)B、x=y=z=1C、x+=yD、x,y=y,x正确答案:A3.以下关于Python循环结构的描述中,错误的是()A、continue只结束本次循环B、break用来结束当前次语句,但不跳出当前的循环体C、遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数D、Python通过for、while等保留字构建循环结构正确答案:B4.字典的____________方法返回字典的“键”列表A、items()B、keys()C、key()D、values()正确答案:B5.关于文件关闭的.close()方法,以下选项中描述正确的是()A、如果文件是只读方式打开,仅在这种情况下可以不用.close()方法关闭文件B、文件处理结束之后,一定要用.close()方法关闭文件C、文件处理遵循严格的“打开-操作-关闭”模式D、文件处理后可以不用.close()方法关闭文件,程序退出时会默认关闭正确答案:D6.以下选项中,不是Python语言合法命名的是()A、MyGodB、MyGod5C、5MyGodD、MyGod_正确答案:C7.random.uniform(a,b)的作用是()A、生成一个[a,b]之间的随机整数B、生成一个(a,b)之间的随机数C、生成一个均值为a,方差为b的正态分布D、生成一个[a,b]之间的随机小数正确答案:D8."下面代码的执行结果是()>>>x="HappyBirthdaytoyou!">>>x*3"A、系统报错B、HappyBirthdaytoyou!C、HappyBirthdaytoyou!HappyBirthdaytoyou!HappyBirthdaytoyou!’D、HappyBirthdaytoyou!HappyBirthdaytoyou!HappyBirthdaytoyou!正确答案:C9."当键盘输入”3”的时候,以下程序的输出结果是()r=input("请输入半径:")Ar=3.1415*r*rprint("{:.0f}".format(ar))"A、28B、28.27C、29D、TypeError正确答案:D10.Python3.x版本的保留字总数是()A、27B、16C、29D、33正确答案:D11."下面代码的输出结果是()forsin“HelloWorld”:ifs==“W”:continueprint(s,end="")"A、WorldB、HelloorldC、HelloD、HelloWorld正确答案:B12.关于Python的复数类型,以下选项中描述错误的是()A、复数的虚数部分通过后缀“J”或“j”来表示D、对于复数z,可以用z.real获得实数部分B、对于复数z,可以用z.imag获得实数部分C、复数类型表示数学中的复数正确答案:B13.有一个函数关系表如下所示:下面程序段中,能正确表示上面关系的是()A、y=x+1Ifx>=0:ifx==0:Y=xElse:Y=x-1B、y=x-1Ifx!=0:ifx>0:Y=x+1Else:Y=xC、ifx<=0:Ifx<0:y=x-1Else:Y=xElse:Y=x+1D、y=xifx<=0:ifx<0:Y=x-1Else:Y=x+1正确答案:C14.下列哪种说法是错误的是()A、除字典类型外,所有标准对象均可以用于布尔测试B、空字符串的布尔值是FalseC、空列表对象的布尔值是FalseD、值为0的任何数字对象的布尔值是False正确答案:A15.二维列表ls=[[1,2,3],[4,5,6],[7,8,9]],以下选项中能获取其中元素9的是()A、ls[–2][–1]B、ls[–1]C、ls[0][–1]D、ls[–1][–1]正确答案:D16.列表ls=[1,2,3,4,5,6,[7,8,9]],以下选项中描述正确的是()A、ls可能是一维列表B、ls可能是二维列表C、ls可能是多维列表D、ls可能是高维列表正确答案:A17.数学关系表达式3x10表示成正确的Python表达式为A、3<=xandx<10B、x<=3orx<=10C、3<=xandx<=10D、3<=x<10正确答案:C18.字符串是一个字符序列,例如,字符串s,从右侧向左第2个字符用()索引?A、s[:-2]B、s[2]C、s[-2]D、s[0:-2]正确答案:C19.下面代码的输出结果是>>>hex(255)A、‘0xff’B、'0effC、‘0bff’D、'0off正确答案:A20.关于Python语句P=–P,以下选项中描述正确的是()A、P的绝对值B、给P赋值为它的负数C、P=0D、P等于它的负数正确答案:B21.在print函数的输出字符串中可以将()作为参数,代表后面指定要输出的字符串A、%cB、%tC、%sD、%d正确答案:C22.下列哪一项不属于while循环语句的循环要素A、循环变量变化的语句B、输出语句的确定C、循环体D、循环变量的初值和终值正确答案:B23.当打开一个不存在的文件时,以下选项中描述正确的是()A、一定会报错B、根据打开类型不同,可能不报错C、不存在文件无法被打开D、文件不存在则创建文件正确答案:B24.关于文件的打开方式,以下选项中描述正确的是()A、文件只能选择二进制或文本方式打开B、所有文件都可能以文本方式打开C、文本文件只能以文本方式打开D、所有文件都可能以二进制方式打开正确答案:D25.下列程序的结果是()。
Python初级试题(含答案)试题一:Python基础语法问题1:以下哪个选项是正确的Python语句?```pythona. print("Hello, World!")b. Print("Hello, World!")c. print("Hello, World!"```答案:A解释:在Python中,print()函数用于输出文本。
选项A 中使用了正确的函数名和语法。
选项B中的Print()函数名错误,Python是大小写敏感的。
选项C中语句未结束,缺少括号。
问题2:如何交换两个变量的值?```pythona. a, b = b, ab. a = b; b = ac. a = b; b = a + b; a = a - b```答案:A解释:选项A使用了Python的多重赋值特性,可以同时交换两个变量的值,是最简洁的方法。
选项B和C虽然也能实现交换,但代码不够简洁明了。
试题二:数据类型与操作问题3:以下哪个选项可以正确地创建一个列表?```pythona. list1 = [1, 2, 3, 4]b. list1 = {1, 2, 3, 4}c. list1 = "1234"```答案:A解释:选项A使用了正确的列表创建语法。
选项B创建了一个集合,而不是列表。
选项C创建了一个字符串,而不是列表。
问题4:如何将元组转换为列表?```pythona. list1 = tuple1b. list1 = list(tuple1)c. list1 = [item for item in tuple1]```答案:B解释:选项B使用了Python内置的list()函数,直接将元组转换为列表。
选项A不会进行转换,而选项C使用列表推导式,虽然也能实现转换,但不是最直接的方法。
试题三:控制流问题5:以下哪个选项是正确的for循环语法?```pythona. for i in range(1, 10):print(i)b. for i = 1 to 10:print(i)c. for i in 1..10:print(i)```答案:A解释:选项A使用了Python的range()函数和正确的for 循环语法。
Python试题及答案一、选择题(每题2分,共10分)1. 下列哪个是Python的内置数据类型?A. ListB. StringC. DictD. All of the above答案:D2. 在Python中,用于定义类的关键字是:A. functionB. classC. defD. return答案:B3. 下列哪个语句可以正确地在Python中实现循环遍历?A. for item in list:B. loop list:C. repeat list:D. iterate list:答案:A4. 在Python中,用于执行条件判断的关键字是:A. ifB. thenC. elseD. switch答案:A5. 下列哪个是Python的错误处理结构?A. try-exceptB. if-elseC. for-whileD. switch-case答案:A二、填空题(每题3分,共15分)6. Python是一种_________类型的语言。
答案:高级、解释型7. 在Python中,使用_________()函数可以将字符串转换为列表。
答案:split8. Python中的列表推导式是一种简洁的构建_________的方法。
答案:列表9. 可以使用_________()函数在Python中获取用户输入。
答案:input10. 在Python中,使用_________关键字可以定义一个装饰器。
答案:@(at符号,也称作“装饰器语法”)三、简答题(每题10分,共20分)11. 请简述Python中的可变数据类型和不可变数据类型的区别。
答案:在Python中,可变数据类型指的是那些可以改变其内容的数据类型,如列表(list)和字典(dict)。
这意味着你可以更改列表中的元素或者字典中的键值对,而不需要创建一个新的对象。
不可变数据类型指的是那些一旦创建就不能改变其内容的数据类型,如整数(int)、浮点数(float)、字符串(str)和元组(tuple)。
Python试题及答案# Python试题及答案一、选择题(每题2分,共20分)1. 下列哪个是Python的内置数据类型?A. ListB. StringC. Both of the aboveD. None of the above答案:C2. Python中的`if`语句需要成对使用吗?A. 是B. 否C. 只有在多条件判断时需要D. 只有在使用`else`或`elif`时需要答案:B3. 下列哪个函数可以用于将字符串转换为列表?A. `split()`B. `join()`C. `lower()`D. `upper()`答案:A4. 在Python中,如何实现循环遍历列表?A. 使用`for`循环B. 使用`while`循环C. 使用`repeat()`D. 使用`loop()`答案:A5. 下列哪个是Python的错误处理机制?A. `try`和`catch`B. `try`和`except`C. `try`和`finally`D. 所有选项都是答案:B6. Python中定义函数使用的关键字是:A. `function`B. `def`C. `func`D. `method`答案:B7. 下列哪个是Python中列表推导式的正确写法?A. `[x for x in range(10) if x % 2 == 0]`B. `{x for x in range(10) if x % 2 == 0}`C. `(x for x in range(10) if x % 2 == 0)`D. `(x for x in range(10)) if x % 2 == 0`答案:A8. 在Python中,哪个模块用于处理文件?A. `file`B. `os`C. `sys`D. `io`答案:D9. 下列哪个是Python中的类定义关键字?A. `class`B. `type`C. `struct`D. `interface`答案:A10. 在Python中,如何实现函数的递归调用?A. 使用`self`B. 使用`return`C. 直接调用函数名D. 使用`yield`答案:C二、简答题(每题5分,共30分)1. 描述Python中的列表推导式是什么,并给出一个示例。
Python初学者15道必练题
典型、快捷、有效的练习题
可新科技 | Python培训 | 2021
1: 已知两个整数,编写一段函数,返回它们的乘积,如果结果大于1000,则返回两个数的和。
已知:
2 已知0到9共十个数,编写一个从0开始到9结束的循环,在每一步打印当前数与上一个数的和。
预期返回结果:
5: 已知一个数列,如果数列的首尾数字相同,则返回真。
预期返回结果
6: 已知一个数列,编写一个循环,只打印可以被五整除的数。
预期输出结果:
7: 编写一段函数,返回“Emma”这个单词在一个句子中的出现次数。
输入的句子是“Emma is good developer. Emma is a writer”
期望输出结果为:
参考答案2: 不使用任何字符串函数
8: 编写函数,打印如下的数字组合。
9: 前后颠倒一个已知数,如果其结果与原来的数相同,则返回“此数为回文数”,否则返回“不是回文数”。
期望输出结果:
10: 输入两个数列,编写一个函数,将其合成一个数列,条件是:新数列只收录第一数列里的奇数,及第二个数列里的偶数,返回新的数列。
期望输出的结果:
11: 编写一段代码,从一个整数中间反序提取每一个数字。
期望输出结果:
比如, 如果一个整数是7536, 输出结果应该是“6 3 5 7“,数字之间用空格分开。
参考答案:
12: 已知输入的薪水,根据如下的阶梯所得税规定,计算个人所得税。
13: 打印1到10的乘法口诀表期望输出结果:
参考答案:
14: 打印由“*“字符组成的半个倒金字塔图案。
参考答案:。
Python练习题(附答案)一、单选题(共57题,每题1分,共57分)1.Python中,用于获取用户输入的命令为( )A、inputB、readC、getD、for正确答案:A2.关于Python的分支结构,以下选项中描述错误的是( )A、分支结构使用if保留字B、Python中if-elif-else语句描述多分支结构C、分支结构可以向已经执行过的语句部分跳转D、Python中if-else语句用来形成二分支结构正确答案:C3."给出如下代码TempStr ="Hello World" 可以输出“World”子串的是( )"A、print(TempStr[–5:0])B、print(TempStr[–5:])C、print(TempStr[–5: –1])D、print(TempStr[–4: –1])正确答案:B4.以下不能创建一个字典的语句是 ( )A、dict3 = {[1,2,(2,3)]: “uestc”}B、dict2 = { 3 : 5 }C、dict1 = {}D、dict4 = {(1,2,3): “uestc”}正确答案:A5.关于lambda函数,以下选项中描述错误的是( )A、lambda函数也称为匿名函数B、lambda函数将函数名作为函数结果返回C、定义了一种特殊的函数D、lambda不是Python的保留字正确答案:D6.下列说法中正确的是( )。
A、continue能结束循环,而break只能结束本次循环B、break能结束循环,而continue只能结束本次循环C、break用在for语句中,而continue用在while语句中D、break用在while语句中,而continue用在for语句中正确答案:B7.关于函数的返回值,以下选项中描述错误的是( )A、函数可以有return,也可以没有B、return可以传递0个返回值,也可以传递任意多个返回值C、函数可以返回0个或多个结果D、函数必须有返回值正确答案:D8.下列不合法的Python变量名是( )A、Python2B、Hello_WorldC、N.xD、sum正确答案:C9.下列表达式的值为True的是( )A、not(1==1 and 0!=1)B、1==1 and 2!=1C、3>2>2D、(2**=3)<(2*=3)正确答案:B10.关于Python循环结构,以下选项中描述错误的是( )A、遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等B、continue用来结束当前当次语句,但不跳出当前的循环体C、Python通过for、while等保留字构建循环结构D、continue结束整个循环过程,不再判断循环的执行条件正确答案:D11.在Python函数中,用于获取用户输入的是( )A、get()B、input()C、Eval()D、print()正确答案:B12.面代码的执行结果是( ) print(pow(3,0.5)*pow(3,0.5)==3)A、pow(3,0.5)*pow(3,0.5)==3B、FalseC、3D、True正确答案:B13.优先级最高的运算符为( )。
Python练习题1.下面不属于Python特性的是(C)。
A. 简单易学B. 开源免费C. 属于低级语言D. 高可移植性2.Python脚本文件的扩展名为(B)。
A. .pythonB. .pyC. .ptD. .pg3.下面(D)不是有效的变量名。
A. _demoB. appleC. NumD. my-num4.幂运算的运算符为(A)。
A. **B. *C. %D. //5.Python中字符串需要使用特殊字符时,下面(A)作为转义字符。
A. \B. /C. %D. #6.下面优先级最高的运算符为(C)。
A. /B. //C. ()D. *7.使用(D)关键字创建Python自定义函数。
A. functionB. funC. defineD. def8. 构造函数是类的一个特殊函数,在Python中,构造函数的名称为(C)。
A. 与类名称相同B. __constructC. __init__D. init9.在Python类中包含一个特殊的变量(C),它表示当前类自身,可以使用它来引用类中成员变量和成员函数。
A. thisB. initC. selfD. 与类名称相同10.(A)模块是Python标准库中最常用的模块之一。
通过它可以获取命令行参数,从而实现从程序外部向程序内部传递参数的功能,也可以获取程序路径和当前系统平台信息。
A. sysB. mathC. timeD. os11.下面(B)语句在Python中是非法的。
A. x = y = z = 1B. x = (y = z + 1)C. x, y = y, xD. x += y x=x+y12.关于Python内存管理,下列说法错误的是(A)。
A. 变量无须先创建和赋值而直接使用B. 变量不必事先声明C. 变量无须指定类型D. 可以使用del释放资源13. print(100 - 25 * 3 % 4)的输出结果为(D)。
A. 0B. 25C. 1D. 9714.下面(B)不是Python合法的标识符。
Python练习题与参考答案一、单选题(共57题,每题1分,共57分)1.关于Python字符编码,以下选项中描述错误的是( )A、ord(x)和chr(x)是一对函数B、chr(x)将字符转换为Unicode编码C、Python可以处理任何字符编码文本D、Python默认采用Unicode字符编码正确答案:B2.关于return语句,以下选项中描述正确的是( )A、return只能返回一个值B、函数必须有一个return语句C、函数中最多只有一个return语句D、函数可以没有return语句正确答案:D3.( )函数是指直接或间接调用函数本身的函数A、递归B、闭包C、lambdaD、匿名正确答案:A4.关于 Python 语言的注释,以下选项中描述错误的是( )A、Python 语言有两种注释方式:单行注释和多行注释B、Python 语言的单行注释以#开头C、Python 语言的单行注释以单引号 ' 开头D、Python 语言的多行注释以 ' ' '(三个单引号)开头和结尾正确答案:C5.面代码的输出结果是( )>>> oct(–255)A、‘0d–377’B、‘0o–377’C、‘–0d377’D、‘–0o377’正确答案:D6.下面代码的输出结果是( ) >>>f=lambda x,y:y+x>>>f(10,10)A、10,10B、10C、20D、100正确答案:C7.Python 3.x 版本的保留字总数是( )A、27B、33C、16D、29正确答案:B8.关于Python语言的注释,以下选项中描述错误的是( )A、Python语言的单行注释以单引号 ' 开头B、Python语言有两种注释方式:单行注释和多行注释C、Python语言的多行注释以'''(三个单引号)开头和结尾D、Python语言的单行注释以#开头正确答案:A9.以下代码中calculate( )函数属于哪个分类def calculate(number):Result = 0 i = 1While i <= number: result = result + i i += 1Return resultResult = calculate(100) print('1~100的累积和为:', result)A、无参无返回值函数B、有参有返回值函数C、无参有返回值函数D、有参无返回值函数正确答案:B10.以下选项对应的方法可以辅助用于从CSV文件中解析二维数据的是( )A、count()B、strip()C、format()D、center()正确答案:B11.关于open()函数的文件名,以下选项中描述错误的是( )A、文件名可以是相对路径B、文件名不能是一个目录C、文件名对应的文件可以不存在,打开时不会报错D、文件名可以是绝对路径正确答案:C12.下面( )不是Python合法的标识符A、40XLB、selfC、int32D、name正确答案:A13.下列Python保留字中,不用于表示分支结构的是( )A、elifB、inC、ifD、else正确答案:B14.以下不属于Python语言保留字的是( )A、TrueB、passC、doD、while正确答案:C15.以下关于元组的描述正确的是A、元组中的元素允许被修改B、创建元组tup:tup = ();C、创建元组tup:tup = (50);D、元组中的元素允许被删除正确答案:B16.下列 for 语句中,在 in 后使用不正确的是( ) for var in ( ) : print(var)A、(1)B、range(0, 10, 5)C、[1, 2, 3, 4, 5]D、set(‘str’)正确答案:A17.假设a=9,b=2,那么下列运算中,错误的是()A、a+b的值是11B、a%b的值是1C、a**b的值是18D、a//b的值是4正确答案:C18.关于字符串下列说法错误的是( )A、字符串以\0标志字符串的结束B、在三引号字符串中可以包含换行回车等特殊字符C、既可以用单引号,也可以用双引号创建字符串D、字符应该视为长度为1的字符串正确答案:A19.以下的布尔代数运算错误的是( )A、(False and x) == FalseB、(True or x) == TrueC、not (a and b) == not (a) and not (b)D、(True or False) == True正确答案:C20.下列Python语句正确的是 ( )A、max = x > y ? x : yB、if (x > y) print xC、min = x if x < y: else yD、while True : pass正确答案:D21.( )模块是python标准库中最常用的模块之一。
14道Python基础练习题(附答案)1. 输⼊⼀个百分制成绩,要求输出成绩等级A、B、C、D、E,其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
要求:⽤if语句实现;输⼊百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
代码:a=eval(input('请输⼊成绩:'))if a<0 or a>100 or a%1!=0:print('您输⼊的成绩不合理,请检查后重新输⼊')elif 90<=a<=100:print('成绩等级:A')elif 80<=a<=89:print('成绩等级:B')elif 70<=a<=79:print('成绩等级:C')elif 60<=a<=69:print('成绩等级:D')else:print('成绩等级:E')输出:2. 篮球⽐赛是⾼分的⽐赛,领先优势可能很快被反超。
作为观众,希望能在球赛即将结束时,就提早知道领先是否不可超越。
体育作家Bill James发明了⼀种算法,⽤于判断领先是否“安全”。
算法描述:获取领先的分数,减去3分;如果⽬前是领先队控球,则加0.5;否则减0.5(数字⼩于0则变成0);计算平⽅后的结果;如果得到的结果⽐当前⽐赛剩余时间的秒数⼤,则领先是“安全”的。
请编写程序实现上述算法的功能,并给出运⾏结果。
代码:#Python学习交流群:725638078grade=eval(input('请输⼊领先分数:'))time=eval(input('请输⼊剩余时间:'))t=grade-3w=input('⽬前是否为领先队控球(Y or N):')if w == 'Y' or w == 'y':g=(t+0.5)**2else:g=t-0.5if g<=0:g=0g=g**2if g>time:print('领先是“安全”的')else:print('领先是“不安全”的')输出:3.根据y=1+3-1+3-1+……+(2n-1)-1,求:y<3时的最⼤n值。
Python试题(附参考答案)一、单选题(共57题,每题1分,共57分)1.关于函数的返回值,以下选项中描述错误的是()A、return可以传递0个返回值,也可以传递任意多个返回值B、函数必须有返回值C、函数可以有return,也可以没有D、函数可以返回0个或多个结果正确答案:B2.字符串是一个字符序列,例如,字符串s,从右侧向左第5个字符用()索引。
A、s[5]B、s[:-5]C、s[0:-5]D、s[-5]正确答案:D3.以下哪个不属于面向对象的特征()A、多态B、复合C、封装D、继承正确答案:B4.关于函数的关键字参数使用限制,以下选项中描述错误的是()A、关键字参数顺序无限制B、关键字参数必须位于位置参数之后C、不得重复提供实际参数D、关键字参数必须位于位置参数之前正确答案:D5.关于列表数据结构,下面描述正确的是()A、不支持in运算符B、必须按顺序插入元素C、可以不按顺序查找元素D、所有元素类型必须相同正确答案:C6.使用()符号对浮点类型的数据进行格式化A、%fB、%cC、%dD、%s正确答案:A7.以下不属于Python语言保留字的是()A、passB、whileC、doD、True正确答案:C8.关于Python语言的注释,以下选项中描述错误的是()A、Python语言的多行注释以'''(三个单引号)开头和结尾B、Python语言的单行注释以#开头C、Python语言的单行注释以单引号'开头D、Python语言有两种注释方式:单行注释和多行注释正确答案:C9.字典对象的______________方法返回字典的“值”列表A、values()B、key()C、keys()D、items()正确答案:A10.以下选项中,不是Python对文件的打开模式的是()A、'r'B、'c'C、'w'D、'+'正确答案:B11.以下关于程序控制结构描述错误的是:A、二分支结构组合形成多分支结构B、Python里,能用分支结构写出循环的算法C、程序由三种基本结构组成D、分支结构包括单分支结构和二分支结构正确答案:B12.下面代码的输出结果是()a=[9,6,4,5]N=len(a)foriinrange(int(len(a)/2)):a[i],a[N-i-1]=a[N-i-1],a[i]print(a)A、[9,6,5,4]B、[5,6,9,4]C、[5,4,6,9]D、[9,4,6,5]正确答案:C13.下列()语句在Python中是非法的A、x+=yB、x=(y=z+1)C、x=y=z=1D、x,y=y,x正确答案:B14.以下代码中calculate()函数属于哪个分类defcalculate(number):Result=0i=1Whilei<=number:result=result+ii +=1ReturnresultResult=calculate(100)print('1~100的累积和为:',result)A、有参有返回值函数B、有参无返回值函数C、无参无返回值函数D、无参有返回值函数正确答案:A15.以下选项中,对于函数的定义错误的是()A、defvfunc(a,*b):B、defvfunc(*a,b):C、defvfunc(a,b=2):D、defvfunc(a,b):正确答案:B16."下面代码的输出结果是()foriinrange(1,10,2):print(i,end=",")"A、1,3,5,7,9,B、1,4,C、1,3,D、1,4,7,正确答案:A17."下面代码的输出结果是()foriinrange(1,6):ifi/3==0:breakelse:print(i,end=",")"A、1,2,3,4,B、1,2,3,4,5,C、1,2,3,D、1,2,正确答案:B18.给出如下代码:importrandomasranlistV=[]ran.seed(100)Foriinrange(10):I=ran. randint(100,999)listV.append(i)以下选项中能输出随机列表元素最大值的是()A、print(max(listV))B、print(listV.reverse(i))C、print(listV.pop(i))D、print(listV.max())正确答案:A19.关于Python字符串,以下选项中描述错误的是()A、字符串是一个字符序列,字符串中的编号叫“索引”B、字符串可以保存在变量中,也可以单独存在C、可以使用datatype()测试字符串的类型D、输出带有引号的字符串,可以使用转义字符\正确答案:C20.下列不是Python语言关键字的是()A、elseB、printC、finallyD、lambda正确答案:B21.下面代码的输出结果是()a=[]foriinrange(2,10):count=0forxinrange(2,i-1):ifi%x==0:count+=1ifcount==0:a。
python基础试题(含答案)Python试题共20道选择题,每题5分,含15道单选题,5道不定项选择题。
总分合计100,60分及格。
说明:以下所有题目涉及的语言、环境和背景都是在python3.x 中,题目中不再另外说明一、单选题1、以下哪个不是python关键字EA、fromB、assertC、notD、withE、final2、代码print(1 if ‘a’ in ’ABC’ else 2)执行结果是BA、1B、2C、报错3、以下不是python数据类型的是EA、元组B、列表C、字典D、常量E、指针F、布尔型4、以下不是tuple类型的是AA、(1)B、(1,)C、([], [1])D、([{‘a’: 1}], [‘b’, 1])5、代码print((1, 2, ‘1’, ‘2’)[0] > 1)执行结果是BA、TrueB、FalseC、报错6、列表a=[1, 2, [3, 4]],以下的运算结果为True的是AA、len(a)==3B、len(a) == 4C、length(a)==3D、length(a)==47、以下对字典的说法错误的是DA、字典可以为空B、字典的键不能相同C、字典的键不可变D、字典的键的值不可变8、代码print(‘\’\\n\’\n’)的执行结果是AA、’\n’B、’\\n\’C、‘\’\\n\’\n’D、报错9、以下代码的执行结果是Da={‘name’: ‘hehe’, ‘detail’: [{‘age’: 18, ‘job’: ‘tester’}, ‘man’]} print(a[‘detail’][1][2])A、18B、sC、eD、n10、以下说法错误的是AA、元组的长度可变B、列表的长度可变C、可以通过索引访问元组D、可以通过索引访问列表11、代码for x in range(1, 3): print(‘%s%s’ % (x,x*x))的执行结果是FA、B、C、D、E、F、%s%s1*******%s%s2*******%s%s93912、和代码[1, 2, 3, ‘1’, ‘2’, ‘3’][-2]执行结果一致的是DA、[1, 2, 3][-2]B、[‘1’, 2, ‘3’][-2]C、(0, 1, 2, 3, ‘1’, ‘2’, ‘3’, ‘4’)[4]D、(3, ‘1’, ‘2’)[-1]13、list类型的内置方法pop()的作用是CA、置顶指定元素B、给元素排序C、删除指定元素D、插入指定元素14、针对元组(1, 2, [1, 2, ‘1’, ‘2’])的说法正确的是DA、长度为6B、属于二维元组C、元组的元素可变D、嵌入的列表的值可变15、代码if ‘p’ in ‘pip python’: print(‘pip python’.replace(‘p’, ‘P’))的执行结果是CA、PiP pythonB、pip PythonC、PiP PythonD、Pip Python二、不定项选择题16、以下说法错误的是ABCA、python不区分大小写B、set不是python数据类型C、tuple和list不可以定义为空D、python可以在Linux系统运行17、以下代码会造成索引越界的是ABCDA、[‘abc’, 123][2]B、[‘abc’, 123][0][3]C、(1, 2, 3, ‘abc’)[3][3]D、{1: ‘123’, 2: 123}[1][3]18、以下说法正确的是CA、python属于低级语言B、python是面向过程的C、python属于解释性语言D、python是非开源的19、针对以下代码中的错误,以下说法正确的是ADfor x in (1, 2, 3):while x:print(x)A、这是一个死循环B、打印结果是1,2,3C、把while改为if,程序运行结果一致D、把while改为if,打印结果为1,2,320、针对以下代码,说法正确的是Ca={‘name’: ‘hehe’, ‘detail’: [{‘age’: 18, ‘job’: ‘tester’}, ‘man’]} b=[‘name’, ‘detail’, 18]c=([‘name’, ‘detail’], [{‘age’: 18, ‘job’: ‘tester’}, ‘man’])if a[‘name’]:for i in b:print(len(c), i, c[-1])A、列表b定义错误B、元组c中的’tester’无法被修改C、程序会打印三行数据D、程序打印结果中存在一个固定值E、程序不会打印结果。
python编程试题及答案1. 单选题:以下哪个是Python的正确语法?A. if x = 5 then print("x is 5")B. if x == 5: print("x is 5")C. if x = 5: print("x is 5")D. if x == 5 then print("x is 5")答案:B2. 多选题:下列哪些是Python中的数据类型?A. 字符串B. 列表C. 元组D. 字典答案:A, B, C, D3. 判断题:Python中的函数可以返回多个值。
正确错误答案:正确4. 填空题:在Python中,使用____关键字可以定义一个函数。
答案:def5. 简答题:请简述Python中列表和元组的区别。
答案:列表是可变的,可以修改其内容;元组是不可变的,一旦创建就不能修改。
6. 编程题:编写一个Python函数,计算并返回一个列表中所有数字的和。
答案:```pythondef sum_of_list(numbers):return sum(numbers)```7. 计算题:给定一个列表[1, 2, 3, 4, 5],请使用Python代码计算其元素的乘积。
答案:```pythonnumbers = [1, 2, 3, 4, 5]product = 1for number in numbers:product *= numberprint(product)```8. 案例分析题:假设你有一个字典,键是字符串,值是整数,编写一个Python程序,打印出所有值大于10的键。
答案:```pythonmy_dict = {'a': 5, 'b': 15, 'c': 20, 'd': 8}for key, value in my_dict.items(): if value > 10:print(key)```。
**问题1:Hello,World!**print("Hello,World!")**问题2:计算两个数字的和**num1=5num2=3sum=num1+num2print("和为:",sum)**问题3:判断奇偶数**num=int(input("请输入一个整数:"))if num%2==0:print(num,"是偶数")else:print(num,"是奇数")**问题4:计算平方和立方**num=int(input("请输入一个整数:"))square=num**2cube=num**3print(f"{num}的平方是{square},立方是{cube}") **问题5:计算斐波那契数列**def fibonacci(n):if n<=1:return nelse:return fibonacci(n-1)+fibonacci(n-2)n=int(input("请输入斐波那契数列的项数:"))for i in range(n):print(fibonacci(i),end="")**问题6:计算阶乘**def factorial(n):if n==0:return1else:return n*factorial(n-1)num=int(input("请输入一个整数:")) print(f"{num}的阶乘是{factorial(num)}")**问题7:检查质数**def is_prime(n):if n<=1:return Falsefor i in range(2,int(n**0.5)+1):if n%i==0:return Falsereturn Truenum=int(input("请输入一个整数:"))if is_prime(num):print(f"{num}是质数")else:print(f"{num}不是质数")**问题8:反转字符串**def reverse_string(s):return s[::-1]string=input("请输入一个字符串:") reversed_string=reverse_string(string) print(f"反转后的字符串:{reversed_string}")**问题9:统计字符数**text=input("请输入一段文本:")char_count=len(text)print(f"文本中的字符数:{char_count}")**问题10:计算平均值**numbers=[5,10,15,20,25]average=sum(numbers)/len(numbers) print(f"平均值为:{average}")**问题11:检查回文字符串**def is_palindrome(s):s=s.lower()s=s.replace("","")return s==s[::-1]string=input("请输入一个字符串:")if is_palindrome(string):print("是回文字符串")else:print("不是回文字符串")**问题12:计算阶乘的和**def factorial(n):if n==0:return1else:return n*factorial(n-1)n=int(input("请输入一个整数:"))sum_factorial=sum(factorial(i)for i in range(1,n+1))print(f"前{n}个整数的阶乘之和:{sum_factorial}")**问题13:判断闰年**def is_leap_year(year):if(year%4==0and year%100!=0)or(year%400==0): return Trueelse:return Falseyear=int(input("请输入一个年份:"))if is_leap_year(year):print(f"{year}是闰年")else:print(f"{year}不是闰年")**问题14:打印九九乘法表**for i in range(1,10):for j in range(1,i+1):print(f"{j}x{i}={i*j}\t",end="")print()**问题15:找出最大数**numbers=[5,10,2,8,15,3]max_num=max(numbers)print(f"最大数是:{max_num}")**问题16:找出最小数**numbers=[5,10,2,8,15,3]min_num=min(numbers)print(f"最小数是:{min_num}")**问题17:计算字符串长度**text="Hello,World!"length=len(text)print(f"字符串的长度是:{length}")**问题18:检查回文数**def is_palindrome(num):original_num=numreverse_num=0while num>0:remainder=num%10reverse_num=reverse_num*10+remaindernum=num//10return original_num==reverse_numnum=int(input("请输入一个整数:"))if is_palindrome(num):print(f"{num}是回文数")else:print(f"{num}不是回文数")**问题19:生成随机数**import randomrandom_num=random.randint(1,100)print(f"随机数:{random_num}")**问题20:计算列表平均值**numbers=[5,10,15,20,25]average=sum(numbers)/len(numbers)print(f"列表的平均值:{average}")**问题21:翻转列表**my_list=[1,2,3,4,5]reversed_list=my_list[::-1]print(f"翻转后的列表:{reversed_list}")**问题22:查找列表中的重复元素**def find_duplicates(lst):duplicates=[]for item in lst:if lst.count(item)>1and item not in duplicates:duplicates.append(item)return duplicatesmy_list=[1,2,2,3,4,4,5]duplicate_elements=find_duplicates(my_list)print(f"重复元素:{duplicate_elements}")**问题23:判断字符串是否包含唯一字符**def has_unique_chars(s):return len(s)==len(set(s))string=input("请输入一个字符串:")if has_unique_chars(string):print("字符串包含唯一字符")else:print("字符串不包含唯一字符")**问题24:检查列表是否升序排列**def is_sorted(lst):return lst==sorted(lst)my_list=[1,2,3,4,5]if is_sorted(my_list):print("列表是升序排列的")else:print("列表不是升序排列的")**问题25:找出两个列表的公共元素**def find_common_elements(list1,list2):common_elements=list(set(list1)&set(list2)) return common_elementslist1=[1,2,3,4,5]list2=[3,4,5,6,7]common=find_common_elements(list1,list2) print(f"公共元素:{common}")**问题26:计算列表中的元素之和**my_list=[1,2,3,4,5]sum_elements=sum(my_list)print(f"列表中元素之和:{sum_elements}")**问题27:检查字符串是否是回文排列**def is_palindrome_permutation(s):s=s.replace("","").lower()char_count={}for char in s:if char in char_count:char_count[char]+=1else:char_count[char]=1odd_count=0for count in char_count.values():if count%2!=0:odd_count+=1if odd_count>1:return Falsereturn Truestring=input("请输入一个字符串:")if is_palindrome_permutation(string):print("可以通过重新排列成回文")else:print("不能通过重新排列成回文")**问题28:计算两个矩阵的和**def add_matrices(matrix1,matrix2):result=[]for i in range(len(matrix1)):row=[]for j in range(len(matrix1[0]):row.append(matrix1[i][j]+matrix2[i][j])result.append(row)return resultmatrix1=[[1,2,3],[4,5,6]]matrix2=[[7,8,9],[10,11,12]]result=add_matrices(matrix1,matrix2)for row in result:print(row)**问题29:查找最大公共前缀**def common_prefix(strings):if not strings:return""prefix=strings[0]for string in strings[1:]:i=0while i<min(len(prefix),len(string))and prefix[i]==string[i]: i+=1prefix=prefix[:i]return prefixstr_list=["flower","flour","flow"]prefix=common_prefix(str_list)print(f"最大公共前缀:{prefix}")**问题30:判断是否为回文链表**class ListNode:def__init__(self,val=0,next=None):self.val=valself.next=nextdef is_palindrome(head):values=[]while head:values.append(head.val)head=head.nextreturn values==values[::-1]#创建链表node1=ListNode(1)node2=ListNode(2)node3=ListNode(2)node4=ListNode(1)node1.next=node2node2.next=node3node3.next=node4if is_palindrome(node1):print("是回文链表")else:print("不是回文链表")**问题31:合并两个有序链表** class ListNode:def__init__(self,val=0,next=None): self.val=valself.next=nextdef merge_two_lists(l1,l2):dummy=ListNode(0)current=dummywhile l1and l2:if l1.val<l2.val:current.next=l1l1=l1.nextelse:current.next=l2l2=l2.nextcurrent=current.nextif l1:current.next=l1elif l2:current.next=l2return dummy.next#创建两个有序链表list1=ListNode(1,ListNode(2,ListNode(4)))list2=ListNode(1,ListNode(3,ListNode(4)))result=merge_two_lists(list1,list2)while result:print(result.val,end="->")result=result.next**问题32:判断有效的括号**def is_valid_parentheses(s):stack=[]parentheses={')':'(','}':'{',']':'['}for char in s:if char in parentheses.values():stack.append(char)elif char in parentheses:if not stack or stack.pop()!=parentheses[char]:return Falsereturn not stackstring=input("请输入一个包含括号的字符串:")if is_valid_parentheses(string):print("有效的括号")else:print("无效的括号")**问题33:计算最大子序列和**def max_subarray_sum(nums):max_sum=current_sum=nums[0]for num in nums[1:]:current_sum=max(num,current_sum+num)max_sum=max(max_sum,current_sum)return max_sumnumbers=[-2,1,-3,4,-1,2,1,-5,4]max_sum=max_subarray_sum(numbers)print(f"最大子序列和为:{max_sum}")**问题34:查找两个整数之和等于给定目标值的索引** def two_sum(nums,target):num_dict={}for i,num in enumerate(nums):complement=target-numif complement in num_dict:return[num_dict[complement],i] num_dict[num]=ireturn Nonenums=[2,7,11,15]target=9result=two_sum(nums,target)print(f"索引:{result[0]},{result[1]}")**问题35:颠倒整数**def reverse_integer(x):if x<0:sign=-1x=-xelse:sign=1reversed_x=int(str(x)[::-1])if reversed_x>2**31-1:return0return sign*reversed_xnum=int(input("请输入一个整数:")) reversed_num=reverse_integer(num)print(f"颠倒后的整数:{reversed_num}")**问题36:移除重复元素**def remove_duplicates(nums):if not nums:return0i=0for j in range(1,len(nums)):if nums[j]!=nums[i]:i+=1nums[i]=nums[j]return i+1numbers=[1,1,2,2,2,3,4,5,5,5]new_length=remove_duplicates(numbers)print(f"新数组长度:{new_length}")**问题37:实现strStr()函数**def strStr(haystack,needle):if not needle:return0for i in range(len(haystack)-len(needle)+1): if haystack[i:i+len(needle)]==needle:return ireturn-1haystack="hello"needle="ll"index=strStr(haystack,needle)print(f"子串位置:{index}")**问题38:合并两个有序数组**def merge(nums1,m,nums2,n):i,j,k=m-1,n-1,m+n-1while i>=0and j>=0:if nums1[i]>nums2[j]:nums1[k]=nums1[i]i-=1else:nums1[k]=nums2[j]j-=1k-=1while j>=0:nums1[k]=nums2[j]j-=1k-=1nums1=[1,2,3,0,0,0]m=3nums2=[2,5,6]n=3merge(nums1,m,nums2,n)print(nums1)**问题39:找出缺失的正整数**def first_missing_positive(nums):nums_set=set(nums)i=1while i in nums_set:i+=1return inumbers=[3,4,-1,1]missing=first_missing_positive(numbers)print(f"缺失的正整数:{missing}")**问题40:旋转图像**def rotate(matrix):n=len(matrix)for i in range(n//2):for j in range(i,n-i-1):temp=matrix[i][j]matrix[i][j]=matrix[n-j-1][i]matrix[n-j-1][i]=matrix[n-i-1][n-j-1]matrix[n-i-1][n-j-1]=matrix[j][n-i-1]matrix[j][n-i-1]=tempmatrix=[[1,2,3],[4,5,6],[7,8,9]]rotate(matrix)for row in matrix:print(row)**问题41:找出只出现一次的元素**def single_number(nums):result=0for num in nums:result^=numreturn resultnumbers=[4,1,2,1,2]unique=single_number(numbers)print(f"只出现一次的元素:{unique}")**问题42:判断链表是否有环**class ListNode:def__init__(self,val=0,next=None):self.val=valself.next=nextdef has_cycle(head):slow=headfast=headwhile fast and fast.next:slow=slow.nextfast=fast.next.nextif slow==fast:return Truereturn False#创建一个有环的链表node1=ListNode(1)node2=ListNode(2)node3=ListNode(3)node1.next=node2node2.next=node3node3.next=node1if has_cycle(node1):print("链表有环")else:print("链表无环")**问题43:删除链表的倒数第N个节点** class ListNode:def__init__(self,val=0,next=None):self.val=valself.next=nextdef remove_nth_from_end(head,n):dummy=ListNode(0)dummy.next=headfirst=dummysecond=dummyfor i in range(n+1):first=first.nextwhile first:first=first.nextsecond=second.nextsecond.next=second.next.next#创建一个链表node1=ListNode(1)node2=ListNode(2)node3=ListNode(3)node4=ListNode(4)node5=ListNode(5)node1.next=node2node2.next=node3node3.next=node4node4.next=node5n=2remove_nth_from_end(node1,n) current=node1while current:print(current.val,end="->")current=current.next**问题44:合并K个升序链表**class ListNode:def__init__(self,val=0,next=None):self.val=valself.next=nextdef merge_k_sorted_lists(lists):from heapq import heappush,heappopmin_heap=[]dummy=ListNode()current=dummyfor i,l in enumerate(lists):if l:heappush(min_heap,(l.val,i)) while min_heap:val,i=heappop(min_heap)current.next=lists[i]current=current.nextlists[i]=lists[i].nextif lists[i]:heappush(min_heap,(lists[i].val,i)) return dummy.next#创建K个升序链表list1=ListNode(1,ListNode(4,ListNode(5)))list2=ListNode(1,ListNode(3,ListNode(4)))list3=ListNode(2,ListNode(6))lists=[list1,list2,list3]result=merge_k_sorted_lists(lists)while result:print(result.val,end="->")result=result.next**问题45:反转链表**class ListNode:def__init__(self,val=0,next=None):self.val=valself.next=nextdef reverse_linked_list(head):prev=Nonecurrent=headwhile current:next_node=current.nextcurrent.next=prevprev=currentcurrent=next_nodereturn prev#创建一个链表node1=ListNode(1)node2=ListNode(2)node3=ListNode(3)node4=ListNode(4)node5=ListNode(5)node1.next=node2node2.next=node3node3.next=node4node4.next=node5reversed_head=reverse_linked_list(node1) current=reversed_headwhile current:print(current.val,end="->")current=current.next**问题46:计算两数相除**def divide(dividend,divisor):MAX_INT=2**31-1MIN_INT=-2**31if dividend==0:return0if dividend==MIN_INT and divisor==-1:return MAX_INTsign=-1if(dividend<0)^(divisor<0)else1dividend,divisor=abs(dividend),abs(divisor) result=0while dividend>=divisor:temp,multiple=divisor,1while dividend>=(temp<<1):temp<<=1multiple<<=1dividend-=tempresult+=multiplereturn sign*resultdividend=10divisor=3result=divide(dividend,divisor)print(f"商:{result}")**问题47:找出最长连续递增序列**def find_length_of_lcis(nums):if not nums:return0max_length=1current_length=1for i in range(1,len(nums)):if nums[i]>nums[i-1]:current_length+=1max_length=max(max_length,current_length)else:current_length=1return max_lengthnumbers=[1,3,5,4,7]length=find_length_of_lcis(numbers)print(f"最长连续递增序列的长度:{length}")**问题48:计算字符串中的单词数**def count_words(s):words=s.split()return len(words)text="Hello,World!This is a sample text."word_count=count_words(text)print(f"单词数:{word_count}")**问题49:判断字符串是否是回文字符串II**def valid_palindrome(s):def is_palindrome(s,left,right):while left<right:if s[left]!=s[right]:return Falseleft+=1right-=1return Trueleft,right=0,len(s)-1while left<right:if s[left]!=s[right]:return is_palindrome(s,left+1,right)or is_palindrome(s,left,right-1) left+=1right-=1return Truestring="abca"if valid_palindrome(string):print("是回文字符串")else:print("不是回文字符串")**问题50:找出两个数组的交集** def intersection(nums1,nums2):set1=set(nums1)set2=set(nums2)return list(set1.intersection(set2)) nums1=[1,2,2,1]nums2=[2,2]result=intersection(nums1,nums2) print(f"交集:{result}")。
python笔试题(附带答案)⼀、选择题(每题2分,共70分)1.下列哪个语句在Python中是⾮法的?( B )A、x = y = z = 1B、x = (y = z + 1)C、x, y = y, xD、x += y2.关于Python内存管理,下列说法错误的是(B )A、变量不必事先声明B、变量⽆须先创建和赋值⽽直接使⽤C、变量⽆须指定类型D、可以使⽤del释放资源3、下⾯哪个不是Python合法的标识符(B )A、int32B、40XLC、selfD、__name__4、下列哪种说法是错误的( A )A、除字典类型外,所有标准对象均可以⽤于布尔测试B、空字符串的布尔值是FalseC、空列表对象的布尔值是FalseD、值为0的任何数字对象的布尔值是False5、Python不⽀持的数据类型有( A)A、charB、intC、floatD、list6、关于Python中的复数,下列说法错误的是(C )A、表⽰复数的语法是real + image jB、实部和虚部都是浮点数C、虚部必须后缀j,且必须是⼩写D、⽅法conjugate返回复数的共轭复数7、关于字符串下列说法错误的是( B)A、字符应该视为长度为1的字符串B、字符串以\0标志字符串的结束C、既可以⽤单引号,也可以⽤双引号创建字符串D、在三引号字符串中可以包含换⾏回车等特殊字符8、以下不能创建⼀个字典的语句是( C )A、dict1 = {}B、dict2 = { 3 : 5 }C、dict3 = {[1,2,3]: “uestc”}D、dict4 = {(1,2,3): “uestc”}9、下列Python语句正确的是( D )A、min = x if x < y else yB、max = x > y ? x : yC、if (x > y) print xD、while True : pass10 计算机中信息处理和信息储存⽤(A)A ⼆进制代码B ⼗进制代码C ⼗六进制代码D ASCII代码11 python源程序执⾏的⽅式(B)A 编译执⾏B 解析执⾏C 直接执⾏ D边编译边执⾏12 Python语⾔语句块的标记是( C )A 分号B 逗号C 缩进D /13 以下是字符转换成字节的⽅法是(B)A decode()B encode()C upper()D rstrip()14 以下是正确的字符串(BD)A ‘abc”ab”B ‘abc”ab’C “abc”ab”D “abc\”ab”15 “ab”+”c”*2 结果是:(C)A abc2B abcabcC abccD ababcc16 以下会出现错误的是(B)A ‘北京’.encode()B ‘北京’.decode()C ‘北京’.encode().decode()D 以上都不会错误17 如下:str1 = "Runoob example....wow"str2 = "exam";Print(str1.find(str2, 5)) 打印的结果是(B)A 6B 7C 8D -118 下⾯对count(),index(), find()⽅法描述错误的是(BC)A count() ⽅法⽤于统计字符串⾥某个字符出现的次数B find() ⽅法检测字符串中是否包含⼦字符串 str 如果包含⼦字符串返回开始的索引值,否则会报⼀个异常C index() ⽅法检测字符串中是否包含⼦字符串 str,如果str不在返回-1D 以上都错误19 有下⾯的程序段if k<=10 and k >0:if k >5:if k>8:x=0else:X=1else:if k>2:x=3else:x=4其中k取那组值时 x =3 ( A)A 3,4,5B 3,4C 5,6,7D 4,520 以下不是python中的关键字(D)A raiseB withC importD final21 调⽤以下函数返回的值(D)def myfun():passA 0B 出错不能运⾏C 空字符串D None22 函数如下:def showNnumber(numbers):for n in numbers:print(n)下⾯那些在调⽤函数时会报错( C)A showNumer([2,4,5])B showNnumber(‘abcesf’)C showNnumber(3.4)D showNumber((12,4,5))23 函数如下def chanageInt(number2):number2 = number2+1print("changeInt: number2= ",number2)#调⽤number1 = 2chanageInt(number1)print("number:",number1)打印结果哪项是正确的( B )A changeInt: number2= 3 number: 3B changeInt: number2= 3 number: 2C number: 2 changeInt: number2= 2D number: 2 changeInt: number2= 324 函数如下def chanageList(list):list.append(" end")print("list",list)#调⽤strs =['1','2']chanageList()print("strs",strs)下⾯对 strs 和 list 的值输出正确的是( C D )A strs ['1','2']B list ['1','2']C list ['1','2',’end’]D strs ['1','2',’end’]25 定义类如下:class Hello():pass下⾯说明错误的是( C D )A 该类实例中包含__dir__()⽅法B 该类实例中包含__hash__()⽅法C 该类实例中只包含__dir__(),不包含__hash__()D 该类没有定义任何⽅法,所以该实例中没有包含任何⽅法26定义类如下:class hello():def showInfo(sef):print(self.x)下⾯描述正确的是(AC)A该类不可以实例化B 该类可以实例化C 在pycharm ⼯具中会出现语法错误,说self没有定义D 该类可以实例化,并且能正常通过对象调⽤showInfo()27 关于python类说法错误的是(B)A 类的实例⽅法必须创建对象后才可以调⽤B 类的实例⽅法必须创建对象前才可以调⽤C 类的类⽅法可以⽤对象和类名来调⽤D 类的静态属性可以⽤类名和对象来调⽤28 定义类如下class Hello():def __init__(self,name)=namedef showInfo(self)print()下⾯代码能正常执⾏的 ( C )A h = Helloh.showInfo()B h = Hello()h.showInfo(‘张三’)C h = Hello(‘张三’)h.showInfo()D h = Hello(‘admin’)showInfo29 定义类如下:class A():def a():print(“a”)class B ():def b():print(“b”)class C():def c():print(c)class D(A,C):def d():print(“d”)d = D()d.a()d.b()d.d()以下程序能执⾏的结果是(D)A a,b,dB a,dC d,aD 执⾏会报错30 以下哪项python能正常启动(D)A 拼写错误B 错误表达式C 缩进错误D ⼿动抛出异常31 有关异常说法正确的是(B)A 程序中抛出异常终⽌程序B 程序中抛出异常不⼀定终⽌程序C 拼写错误会导致程序终⽌D 缩进错误会导致程序终⽌32 对以下程序描述错误的是(A)try:#语句块1except IndexError as i:# 语句块2A 改程序对异常处理了,因此⼀定不会终⽌程序B 改程序对异常处理了,不⼀定不会因异常引发终⽌C 语句块1,如果抛出IndexError 异常,不会因为异常终⽌程序D 语句块2 不⼀定会执⾏33 程序如下:try:number = int(input("请输⼊数字:"))print("number:",number)print("=======hello======")except Exception as e:# 报错错误⽇志print("打印异常详情信息: ",e)else:print("没有异常")finally:#关闭资源print("finally")print("end")输⼊的是 1a 结果是:( B )A number: 1打印异常详情信息: invalid literal for int() with base 10:finallyendB 打印异常详情信息: invalid literal for int() with base 10:finallyendC ========hello===========打印异常详情信息: invalid literal for int() with base 10:finallyEndD 以上都正确34 导⼊模块的⽅式错误的是(D)A import moB from mo import *C import mo as mD import m from mo35 以下关于模块说法错误的是(C)A ⼀个xx.py就是⼀个模块B 任何⼀个普通的xx.py⽂件可以作为模块导⼊C 模块⽂件的扩展名不⼀定是 .pyD 运⾏时会从制定的⽬录搜索导⼊的模块,如果没有,会报错异常⼆解答题 (每题2分,共 12分)1 请描述列表和元组之间的区别,以及分别在他们之间转型?List 和tuple 区别不同点:1 定义的⽅式list[] tuple()2 是否可变list可变 tuple() 不可变3 list中有 append(),insert() 函数,tuple中没有相同点:都是有序的集合(容器)List转为tuple:temp_list = [1,2,3,4,5]将temp_list进⾏强制转换:tuple(temp_list)tuple 转为list:temp_tuple = (1,2,3)⽅法类似,也是进⾏强制转换即可:list(temp_tuple)2 定义函数的规则?1函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
Python练习题1、小王设计了一个自动售货机的python程序,以下程序的输出结果是:()goods=["牛奶","可乐","雪碧","咖啡"]print(goods[3])A、牛奶B、可乐C、雪碧D、咖啡【答案】D【解析】列表为每一个元素都建立索引号(序号),第一个元素的序号为0,第二个元素序号为1,以此类推。
2、在Python中,while和for都表示循环语句,当想要提前结束循环语句时,应当用以下哪个命令呢?()A、ifB、elseC、elifD、break【答案】D【解析】if、else、elif都表示分支语句3、在python中列表的元素是用一组中括号括起来的,每个数据之间用逗号隔开,列表中的数据可以是任意类型。
下列选项中不属于列表的是:()A、name=["小王","小明","小红"]B、number=[1,2,3,4,5]C、city=("广州","深圳","东莞","佛山")D、score=[88.5,95,60,"缺考"]【答案】C【解析】列表的标志性特点是“[]”(中括号)。
4、正值寒梅之际,小白想用Python语言中的随机函数做一个加法运算,下列选项中能正确导入的是()。
A、print(random)B、import turtleC、print(turtle)D、import random【答案】D【解析】print为输出函数,import是导入,turtle为绘图工具,random为随机函数库。
5、Python语句print("3+5=8")和print("3+5=",3+5),运算结果是否一致?()A、3+5=8和3+5=8B、3+5=8和3+5= 8C、3+5=8和3+5=3+5D、"3+5=8"和"3+5"=3+5【答案】B【解析】print为输出语句,输出引号里面的所有内容,语句“print("3+5=",3+5)”中有逗号,所以输出时会产生一个空格,“+”不会产生空格。
Python练习题库及答案一、单选题(共57题,每题1分,共57分)1.用()函数接收用输入的数据A、readline()B、input()C、accept()D、login()正确答案:B2.关于Python遍历循环,以下选项中描述错误的是( )A、遍历循环可以理解为从遍历结构中逐一提取元素,放在循环变量中,对于所提取的每个元素只执行一次语句块B、无限循环无法实现遍历循环的功能C、遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等D、遍历循环通过for实现正确答案:B3.使用( )关键字来创建python自定义函数。
A、funcB、procedureC、defD、function正确答案:C4.字典对象的______________方法返回字典的“值”列表A、key()B、keys()C、values()D、items()正确答案:C5.下列哪项不是Python中对文件的读取操作( )A、readlinesB、readlineC、readallD、read正确答案:C6.以下选项中,不是Python对文件的读操作方法的是( )A、readB、readlinesC、readtextD、readline正确答案:C7."下面代码的输出结果是( ) for i in range(1,6): if i%3 == 0: break else: print(i,end =",")"A、1,2,3,4,5,B、1,2,C、1,2,3,D、1,2,3,4,5,6正确答案:B8.给出如下代码: MonthandFlower={“1月”:“梅花”,“2月”:“杏花”,“3月”:“桃花”, “4月”:“牡丹花”,\ 5月:“石榴花”,“6月”:“莲花”,“7月”:“玉簪花”,“8月”:“桂花”,“9月”:“菊花”,10月:“芙蓉花”,“11月”:“山茶花”,“12月”:“水仙花”} n = input(“请输入1-12的月份:”) print(n + “月份之代表花:” + MonthandFlower.get(str(n)+ “月”)) 以下选项中描述正确的是( )A、*MonthandFlower是一个列表B、*MonthandFlower是一个集合C、代码实现了从键盘上获取一个整数(1-12)来表示月份,输出该月份对应的代表花名D、*MonthandFlower是一个元组正确答案:C9.在print函数的输出字符串中可以将( )作为参数,代表后面指定要输出的字符串A、%cB、%dC、%sD、%t正确答案:C10.关于文件的打开方式,以下选项中描述正确的是( )A、文件只能选择二进制或文本方式打开B、所有文件都可能以文本方式打开C、文本文件只能以文本方式打开D、所有文件都可能以二进制方式打开正确答案:D11.关于Python语言的特点,以下选项中描述错误的是( )A、Python语言是多模型语言B、Python语言是非开源语言C、Python语言是脚本语言D、Python语言是跨平台语言正确答案:B12.面代码的输出结果是( )>>> oct(–255)A、‘–0o377’B、‘–0d377’C、‘0o–377’D、‘0d–377’正确答案:A13.下列表达式的值为True的是A、2!=5 or 0B、1 or TrueC、1 and 5==0D、3>2>2正确答案:A14.关于函数的参数,以下选项中描述错误的是( )A、可选参数可以定义在非可选参数的前面B、一个元组可以传递给带有星号的可变参数C、在定义函数时,可以设计可变数量参数,通过在参数前增加星号(*)实现D、在定义函数时,如果有些参数存在默认值,可以在定义函数时直接为这些参数指定默认值正确答案:A15.下面代码的输出结果是( ) str1=“k:1|k1:2|k2:3|k3:4” str_list=str1.split(’|’) d= {} for l in str_list: key,value=l.split(’:’) d[key]=value print(d)A、[‘k’:‘1’, ‘k1’:‘2’, ‘k2’:‘3’,‘k3’:‘4’]B、{k:1,k1:2,k2:3,k3:4}C、{‘k’: ‘1’, ‘k1’: ‘2’, ‘k2’: ‘3’, ‘k3’: ‘4’}D、[k:1,k1:2,k2:3,k3:4]正确答案:C16.下列运算符的使用错误的是( )A、1 + ‘a’B、3 * ‘abc’C、-10 % -3D、[1, 2, 3] + [4, 5, 6]正确答案:A17.写出下面代码的运行结果。
Python练习题库By 郑红波2017-12—19一、填空题1.Python标准库math中用来计算平方根的函数是__________。
(sqrt)2.在Python中__________表示空类型.(None)3.列表、元组、字符串是Python的_________(有序?无序)序列。
(有序)4.查看变量类型的Python内置函数是________________。
(type())5.查看变量内存地址的Python内置函数是_________________.(id())6.表达式[1,2, 3]*3的执行结果为______________________.([1,2,3, 1,2,3, 1, 2,3])7.list(map(str,[1,2,3]))的执行结果为_____________________.([‘1’, ‘2',‘3’])8.已知x = 3,并且id(x)的返回值为496103280,那么执行语句x += 6 之后,表达式id(x)==496103280 的值为___________。
(False)9.已知x = 3,那么执行语句x *= 6 之后,x的值为________________。
(18)10.表达式“[3]in [1,2,3,4]”的值为________________。
(False)11.假设列表对象aList的值为[3, 4, 5, 6,7,9, 11,13,15, 17],那么切片aList[3:7]得到的值是______________________。
([6, 7,9, 11])12.使用列表推导式生成包含10个数字5的列表,语句可以写为_______________.([5 for i in range(10)])13.假设有列表a = ['name', ’age’, 'sex']和b = [’Dong’, 38, ’Male’],请使用一个语句将这两个列表的内容转换为字典,并且以列表a中的元素为“键”,以列表b中的元素为“值”,这个语句可以写为_____________________。
Python练习题库By 郑红波2017-12-19一、填空题1.Python标准库math中用来计算平方根的函数是__________。
(sqrt)2.在Python中__________表示空类型。
(None)3.列表、元组、字符串是Python的_________(有序无序)序列。
(有序)4.查看变量类型的Python内置函数是________________。
(type())5.查看变量内存地址的Python内置函数是_________________。
(id())6.表达式[1, 2, 3]*3的执行结果为______________________。
([1, 2, 3, 1, 2, 3, 1, 2, 3])7.list(map(str, [1, 2, 3]))的执行结果为_____________________。
([‘1’, ‘2’, ‘3’])8.已知 x = 3,并且id(x)的返回值为 0,那么执行语句 x += 6 之后,表达式 id(x) == 0 的值为___________。
(False)9.已知 x = 3,那么执行语句 x *= 6 之后,x的值为________________。
(18)10.表达式“[3] in [1, 2, 3, 4]”的值为________________。
(False)11.假设列表对象aList的值为[3, 4, 5, 6, 7, 9, 11, 13, 15, 17],那么切片aList[3:7]得到的值是______________________。
([6, 7, 9, 11])([5 for12.使用列表推导式生成包含10个数字5的列表,语句可以写为_______________。
i in range(10)])13.假设有列表a = ['name', 'age', 'sex']和b = ['Dong', 38, 'Male'],请使用一个语句将这两个列表的内容转换为字典,并且以列表a中的元素为“键”,以列表b中的元素为“值”,这个语句可以写为_____________________。
(c = dict(zip(a, b)))14.任意长度的Python列表、元组和字符串中最后一个元素的下标为________。
(-1)15.Python语句''.join(list('hello world!'))执行的结果是____________________。
('hello world!')16.转义字符’\n’的含义是___________________。
(回车换行)17.Python语句list(range(1,10,3))执行结果为___________________。
([1, 4, 7])18.切片操作list(range(6))[::2]执行结果为________________。
([0, 2, 4])19.表达式 'ab' in 'acbed' 的值为________。
(False)20.Python 语句 print(1, 2, 3, sep=':') 的输出结果为____________。
(1:2:3)21.表达式 int(4** 的值为____________。
(2)22.达式 sorted([111, 2, 33], key=lambda x: -len(str(x))) 的值为____________。
([111, 33, 2])23.已知列表对象x = ['11', '2', '3'],则表达式 max(x) 的值为___________。
('3')24.表达式 min(['11', '2', '3']) 的值为_________________。
('11')25.已知列表对象x = ['11', '2', '3'],则表达式max(x, key=len) 的值为___________。
('11')26.语句 x = (3,) 执行后x的值为_______________。
((3,))27.语句 x = (3) 执行后x的值为________________。
(3)28.已知 x = {1:2},那么执行语句 x[2] = 3之后,x的值为________________。
({1: 2, 2: 3})29.字典对象的_____________方法返回字典中的“键-值对”列表。
(items())30.使用列表推导式得到100以内所有能被13整除的数的代码可以写作___________________________________。
([i for i in range(100) if i%13==0])31.表达式 3 ** 2 的值为_________。
(9)32.表达式 3 * 2的值为___________。
(6)33.已知x = [3, 5, 7],那么执行语句x[len(x):] = [1, 2]之后,x的值为______________。
([3, 5, 7, 1, 2])34.表达式 list(zip([1,2], [3,4])) 的值为________________________。
([(1, 3), (2, 4)])35.已知 x = [1, 2, 3, 2, 3],执行语句 () 之后,x的值为_____________。
([1, 2, 3, 2])36.表达式 [x for x in [1,2,3,4,5] if x<3] 的值为_____________________。
([1, 2])37.表达式[index for index, value in enumerate([3,5,7,3,7]) if value == max([3,5,7,3,7])] 的值为__________________。
([2, 4])38.已知 path = r'c:\',那么表达式 path[:-4]+'htm' 的值为__________。
('c:\\')39.表达式 '%d,%c' % (65, 65) 的值为________。
('65,A')40.表达式'The first:{1}, the second is {0}'.format(65,97) 的值为______________________________。
('The first:97, the second is 65')41.表达式 ':'.join('abcdefg'.split('cd')) 的值为______________。
('ab:efg')42.表达式 isinstance('abcdefg', str) 的值为____________。
(True)43.表达式 'Hello world. I like Python.'.find('python') 的值为________。
(-1)44.表达式','.join('a b ccc\n\n\nddd '.split()) 的值为______________。
('a,b,ccc,ddd')45.已知 x = '123' 和 y = '456',那么表达式 x + y 的值为______________。
('123456')46.表达式 'abcab'.replace('a','yy') 的值为___________。
('yybcyyb')47.已知table = ''.maketrans('abcw', 'xyzc'),那么表达式'Hellow world'.translate(table) 的值为______________________。
('Helloc corld')48.已知x = {'b':1, 'a':2},那么执行语句({‘a’:3, ‘d’:4})之后,表达式sorted())的值为____________________。
([('a', 3), ('b', 1), ('d', 4)])49.已知x = list(range(20)),那么语句print(x[100:200])的输出结果为_______________。
([])50.表达式sorted({'a':9, 'b':3, 'c':78}.values())的值为_____________。
([3, 9, 78])51.type(1+2*的结果是: float class二、阅读程序1.写出下面代码的执行结果。
def Join(List, sep=None):return (sep or ',').join(List)print(Join(['a', 'b', 'c']))print(Join(['a', 'b', 'c'],':'))答:a,b,ca:b:c2.若k为整数,下述while循环执行的次数为: 9k=1000while k>1:print(k)k=koin(x, 10)))答:输出由英文字母大小写或数字组成的长度为10且不重复的随机字符串。
3.下面的代码输出结果为_____________。
(3)def demo():x = 5x = 3demo()print(x)4. 下面程序运行的结果为_______________。
([5, 6, 1, 2, 3, 4])def demo(lst, k):i f k<len(lst):return lst[k:]+lst[:k]lst=[1,2,3,4,5,6]demo(lst,4)5. 下面程序运行的结果为_____ appy New Year!H__________。