【Python】19

好久不见

本系列文章已加入“维权骑士”(rightknights.com)的版权保护计划

本文原创内容受到保护

之前的18篇文章中,我们基本较完整地接触了Python的基础语法和一些实用技巧。本文将以题目的回顾为主,重新整理之前文章中的知识体系。

第一部分:基本概念(对应文章2,3)

1.

代码的输出结果是?

>>> spam = "7"

>>> spam = spam + "0"

>>> eggs = int(spam) + 3

>>> print(float(eggs))

2.

代码的输出结果是?

>>> word = input("Enter a word: ")

Enter a word: cheese

>>> print(word + ' shop')

3.

代码的输出结果是?

>>> x = 5

>>> y = x + 3

>>> y = int(str(y) * 3 + "2")

>>> print(y)

4.

填空,代码的作用是声明一个变量,给它+5,之后输出变量值11倍的值。

>>> x = 4

>>> x __ 5

>>> print ____

5.

代码的输出结果是?

>>> x = 3

>>> num = 17.0

>>> print(num % x)

第一部分答案

第一题

73.0

——————————

第二题

cheese shop

——————————

第三题

8882

——————————

第四题

+=

(str(x) * 2)

——————————

第五题

2.0

第二部分:程序基本结构(对应文章4,5)

1.

代码的输出结果是?

list = [1, 1, 2, 3, 5, 8, 13]

print(list[list[4]])

2.

选择,这份代码的作用是?

for i in range(10):

if not i % 2 == 0:

print(i+1)

打印1到9之间的所有奇数

打印2到10之间的所有偶数

打印0到8之间的所有偶数

3.

这份代码的输出结果有多少行?

while False:

print("Looping...")

4.

填空。代码的意思是:如果数组包含偶数个元素,就输出数组的第一个元素。

list = [1, 2, 3, 4]

if ____(list) % 2 == 0:

print(list[ ___ ])

5.

代码的输出结果是?

letters = ['x', 'y', 'z']

letters.insert(1, 'w')

print(letters[2])

第二部分答案

第一题

8

——————————

第二题

打印2到10之间的所有偶数

——————————

第三题

——————————

第四题

len

——————————

第五题

y

第三部分:函数与模块(对应文章6,7)

1.

填空,以定义一个函数。该函数将两个数字作为参数,并返回较小的数字。

____ min(x, y):

if x

return x

else:

_____ y

2.

重新排列代码的顺序,以定义一个函数。该函数计算从0到其参数的所有数字的总和。

for i in range(x):

return res

res = 0

res += i

def sum(x):

3.

如果像下面这样导入,你会如何引用randint函数?

fromrandomimportrandintasrnd_int

4.

这份代码输出的最大值是?

def print_nums(x):

for i in range(x):

print(i)

return

print_nums(10)

5.

代码的输出结果是?

def func(x):

res = 0

for i in range(x):

res += i

return res

print(func(4))

第三部分答案

第一题

def

:

return

——————————

第二题

def sum(x):

res = 0

for i in range(x):

res += i

return res

——————————

第三题

rnd_int

——————————

第四题

——————————

第五题

6

第四部分:异常情况和文件(对应文章8,9)

1.

选择,下面这份代码不会输出哪一个数字?

try:

print(1)

print(20 / 0)

print(2)

except ZeroDivisionError:

print(3)

finally:

print(4)

2.

填空,以二进制模式打开文件。

open("test.txt", "______")

3.

填空,以尝试打开文件并从文件中读取内容。如果过程中引发了异常,请输出一个"Error"。

try:

____ open("test.txt") as ____:

print(f.read())

____

print("Error")

4.

这份代码输出的最大值是?

try:

print(1)

assert 2 + 2 == 5

except AssertionError:

print(3)

except:

print(4)

第四部分答案

第一题

2

——————————

第二题

b

——————————

第三题

with

f

except:

——————————

第四题

3

第五部分:更多数据类型(对应文章10,11,12)

1.

对于元组,我们可以进行节选(slice)操作吗?

2.

选择,以下哪个对于数组的操作会翻转这个数组?

numbers[::]

numbers[-1::]

numbers[::-1]

3.

哪一种数据结构可以被描述为“不可变的数组”?

4.

没有return语句的函数,会返回什么?

5.

代码的输出结果是?

nums = (55, 44, 33, 22)

print(max(min(nums[:2]), abs(-42)))

第五部分答案

第一题

可以

——————————

第二题

numbers[::-1]

——————————

第三题

元组

——————————

第四题

None

——————————

第五题

44

第六部分:函数式编程(对应文章13,14,15)

1.

代码的输出结果是?

nums =

nums = & nums

nums = filter(lambda x: x > 1, nums)

print(len(list(nums)))

2.

代码的输出结果是?

def power(x, y):

if y == 0:

return 1

else:

return x * power(x, y-1)

print(power(2, 3))

3.

填空。要求用到匿名函数,代码的作用是计算表达式x *(x + 1),并传递参数为6。

a = ( _____ x: x _____ (x+1)) _____

print(a)

4.

填空,要求只保留数组中的偶数。

nums = [1, 2, 8, 3, 7]

res = list( _____( _____ x: x% _____ ==0, nums))

print(res)

5.

填空,要求输出在集合a中且不在集合b中的元素。

print( _____ _____ _____ )

第六部分答案

第一题

2

——————————

第二题

8

——————————

第三题

lambda * (6)

第三题完整代码如下:

a = ( lambda x: x * (x+1)) (6)

print(a)

——————————

第四题

filter lambda 2

第四题完整代码如下:

nums = [1, 2, 8, 3, 7]

res = list( filter( lambda x: x% 2 ==0, nums))

print(res)

——————————

第五题

a - b

第五题完整代码如下:

print( a - b )

第七部分:面向对象编程(对应文章16,17,18)

1.

类方法和静态方法有什么区别?

2.

代表传入的实例和类的常用参数名称是什么?

3.

在实例化对象之前会自动调用什么方法?

第七部分答案

第一题

类方法允许以参数的形式把调用此方法的类传递给这个类方法,静态方法不传入任何外部参数

——————————

第二题

self 和 cls

——————————

第三题

__init__

Python入门-全系列

可以在评论区留下有疑问的题号和你的答案。

需要说明的一点是,本系列文章的最终目的是实现网络爬虫,而Python知识只是实现网络爬虫技术的基石之一。所以下个系列将会介绍HTML语言的相关知识,不过请放心,HTML这部分知识我将尽量以很少的篇幅说清楚。在HTML语言的相关介绍结束之后,我将开始编写网络爬虫技术相关文章。请持续关注。

部分测试题来自网络

所有例子和测试题均经过Python3.7 IDLE实际运行验证

有任何问题和建议可直接向公众号发消息、在评论区发表评论或者添加微信进行交流。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181017G0KEE200?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券