Python基础教程 习题(含答案)
第一章
一、判断题
1、Python是一种跨平台、开源、免费的高级动态编程语言。(对) 2、Python 3.x完全兼容Python 2.x。(错)
3、在Windows平台上编写的Python程序无法在Unix平台运行。(错) 4、不可以在同一台计算机上安装多个Python版本。(错)
5、pip命令也支持扩展名为.whl的文件直接安装Python扩展库。(对) 二、填空题
1、Python安装扩展库常用的是_______工具。(pip)
2、在IDLE交互模式中浏览上一条语句的快捷键是__________。(Alt+P)
3、Python程序文件扩展名主要有__________和________两种,其中后者常用于GUI程序。(py、pyw)
4、Python源代码程序编译后的文件扩展名为_________。(pyc)
5、使用pip工具升级科学计算扩展库Numpy的完整命令是______________。(pip install --upgrade Numpy)
6、使用pip工具安装科学计算扩展库Numpy的完整命令是___________。(pip install Numpy)
7、使用pip工具查看当前已安装的Python扩展库的完整命令是__________。(pip list) 8、现有一python文件为“Stu.py”,ico文件为“Stu.ico”,两者均在同一目录下,现要将Stu.py打包发布在此目录下,所发布的文件图标采用Stu.ico,需要使用的命令是_____________。(pyinstaller –I Stu.ico –F Stu.py)
第二章
一、判断题
1、已知 x = 3,那么赋值语句 x = 'abcedfg' 是无法正常执行的。(错) 2、Python变量使用前必须先声明,并且一旦声明就不能再当前作用域内改变其类型。(错)
3、Python采用的是基于值得自动内存管理方式。(对)
4、Python不允许使用关键字作为变量名,允许使用内置函数名作为变量名,但这会改变函数名的含义。(对)
5、在Python中可以使用if作为变量名。(错) 6、在Python 3.x中可以使用中文作为变量名。(对)
7、Python变量名必须以字母或下划线开头,并且区分字母大小写。(对) 8、加法运算符可以用来连接字符串并生成新字符串。(对) 9、3+4j不是合法的Python表达式。(错) 10、0o12f是合法的八进制数字。(错)
11、不管输入什么,Python 3.x中input()函数的返回值总是字符串。(对) 12、在Python中0xad是合法的十六进制数字表示形式。(对) 13、Python使用缩进来体现代码之间的逻辑关系。(对) 14、Python代码的注释只有一种方式,那就是使用#符号。(错) 15、放在一对三引号之间的任何内容将被认为是注释。(错)
16、为了让代码更加紧凑,编写Python程序时应尽量避免加入空格和空行。(错)
17、Python变量名区分大小写,所以student和Student不是同一个变量。(对)
18、在Python 3.x中,使用内置函数input()接收用户输入时,不论用户输入的什么格式,一律按字符串进行返回。(对)
二、填空题
1、布尔类型的值包括________和________。(True、False) 2、Python的浮点数占________字节。(8)
3、00001100>>2的结果是________。(00000011或3) 4、若a=20,那么bin(a)的值为________。(0b10100)
5、a=60;b=13;c=13,a>b and b 6、3.14E5表示的是________。(314000.0) 7、查看变量类型的Python内置函数是______________。(type()) 8、查看变量内存地址的Python内置函数是_____________。(id()) 9、以3为实部4为虚部,Python复数的表达形式为_________或________。(3+4j、3+4J) 10、Python运算符中用来计算整商的是_________。(//) 11、语句x = 3==3, 5执行结束后,变量x的值为_____________。((True, 5)) 12、已知 x = 3,并且id(x)的返回值为 496103280,那么执行语句 x += 6 之后,表达式 id(x) == 496103280 的值为___________。(False) 13、已知 x = 3,那么执行语句 x *= 6 之后,x的值为________。(18) 14、已知x=3和y=5,执行语句 x, y = y, x 后x的值是________。(5) 15、表达式 0 or 5的值为_________。(5) 16、表达式 3 and 5的值为__________。(5) 三、程序练习 1.用户通过键盘输入两个直角边的长度a和b,需要计算斜边c的长度,请用代码实现此功能。 a=int(input(\请输入直角a边的值:\b=int(input(\请输入直角b边的值:\c=(a**2+b**2)**(1/2) #就本题而言,使用数学模块的sqrt()求平方根是比较好的写法 print(\斜边长度是\ 2.编写一个程序,判定用户输入的两个数a和b,如果用户输入的第一个数大,则两数互换,如果相等或第一个数小,那原样输出。 a=int(input(\请输入数a:\b=int(input(\请输入数b:\if a>b: a,b=b,a print(\用户输入的数按小到大排序结果是:\elif a==b: print(\用户输入的两个数相同,输入的数字是:\else: print(\用户输入的数按小到大排序结果是:\#本题不考虑用户需要的不是数字情况,在读者学完异常处理后,建议回头改写此题,实现异常处理。 第三章 一、判断题 1、在Python语言中,循环语句while的判断条件为“1”是永真条件。(对) 2、if...else语句的嵌套完全可以代替if...elif语句。(对) 3、break语句用在循环语句中,可以跳出二重循环结构。(错) 4、通过break语句跳出循环结构后,循环控制变量的值一定大于其设定的终点值。(错) 5、在循环语句中,如果没有子句else,也能同样完成程序的功能。(对) 6、在条件表达式中不允许使用赋值运算符“=”,会提示语法错误。(对) 7、Pass语句的出现是为了保持程序结构的完整性。(对) 8、Python中没有switch-case语句。(对) 9、每一个if条件表达式后都要使用冒号。(对) 10、While循环不可以和for循环嵌套使用。(错) 11、如果仅仅是用于控制循环次数,那么使用for i in range(20)和for i in range(20, 40)的作用是等价的。(对) 12、在循环中continue语句的作用是跳出当前循环。(错) 13、在编写多层循环时,为了提高运行效率,应尽量减少内循环中不必要的计算。(对) 14、带有else子句的循环如果因为执行了break语句而退出的话,则会执行else子句中的代码。(错) 15、对于带有else子句的循环语句,如果是因为循环条件表达式不成立而自然结束循环,则执行else子句中的代码。(对) 二、填空题 1、在循环体中,可以使用__________语句跳出循环体。(break) 2、__________语句是if语句和else语句的组合。(elif) 3、在循环体中,可以使用__________语句跳过本次循环后面的代码,直接进入下一次循环。(continue) 4、Python中的__________表示空语句。(pass) 5、调试运行时,遇到死循环可以使用__________退出循环。(ctrl+c) 6、Python 3.x语句for i in range(3):print(i, end=',') 的输出结果为________。(0,1,2,) 7、对于带有else子句的for循环和while循环,当循环因循环条件不成立而自然结束时________(会?不会?)执行else中的代码。(会) 8、在循环语句中,__________语句的作用是提前结束本层循环。(break) 9、在循环语句中,_______语句的作用是提前进入下一次循环。(continue) 10、表达式5 if 5>6 else (6 if 3>2 else 5)的值为_________。(6) 三、程序练习 1.输入两个数x和y,如果x或y小于等于0,提示请输入正整数,求这两个数的最大公约数和最小公倍数。 【分析】 设x为被除数,y为除数,a为余数,采用欧几里得辗转相除算法来求最大公约数。x除以y得到余数a,如果a不等于0,把y赋值给x,把a赋值给y,继续x除以y得到余数a,直接a等于0为止,这时的y就是最大公约数。最小公倍数的计算方法是两数的乘积除以两数最大公约数的结果。 【操作实践】 x=eval(input(\请输入一个数:\y=eval(input(\请输入一个数:\t=x*y if x