Python基础教程-习题(含答案)

  • 格式:docx
  • 大小:60.37 KB
  • 文档页数:23

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 bb or 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("斜边长度是",c)

2.编写一个程序,判定用户输入的两个数a和b,如果用户输入的第一个数大,则两数互换,如果相等或第一个数小,那原样输出。

a=int(input("请输入数a:"))

b=int(input("请输入数b:"))

if a>b:

a,b=b,a

print("用户输入的数按小到大排序结果是:",a,b)

elif a==b:

print("用户输入的两个数相同,输入的数字是:",a)

else:

print("用户输入的数按小到大排序结果是:",a,b)

#本题不考虑用户需要的不是数字情况,在读者学完异常处理后,建议回头改写此题,实现异常处理。

第三章

一、判断题

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

x,y=y,x

while x%y!=0:

a=x%y

x=y

y=a

print("最大公约数:",y)

print("最小公倍数:",t//y)

2.输入一个数,判断是否为质数。

【分析】

质数是除了1和它本身以外任何数都不能整除他的数,那求质数时,可以用这个数依次除比所输入的数的平方根小的数,如果不能除尽,那就是质数,否则不是质数。

【操作实践】

x=eval(input("请输入一个数:"))

i =2

while i

if x%i==0:

print(x,"不是质数")

break

i += 1

else:

print(x,"是质数")

3 输入一个年份year,判断是否为闰年。

【分析】

闰年能被4整除同时不能被100整除的数,但如果能被400整除,也是闰年。

【操作实践】