python--期末考后复盘

python考后复盘

需要word版的,见文章末尾,免费自提

1、选择题

1、以下选项中,不属于函数的作用的是 ()
A 、提高代码执行速度
B、 降低编程复杂度
C、 增强代码可读性
D、 复用代码


2、关于 Python 语言的注释,以下选项中描述错误的是()
A、Python 语言的单行注释以’开头
B、Python 语言的单行注释以#单引号开头
C、Python 语言的多行注释以"" (三个单引号)开头和结尾
D、Python 语言有两种注释方式:单行注释和多行注释


3、关于 Python 字符串,以下选项中措述错误的是()
A、可以使用 datatype()测试字符串的类型
B、输出带有引号的字符串,可以使用转义字符
C、字符串是一个字符序列,字符串中的编号叫“索引”
D、字符串可以保存在变量中,也可以单独存


4、给出如下代码:

DictColor = {
    
    "seashell":"海贝色","gold":“金色","pink":"粉红色","brown":"棕色","purple":"","tomato":"西红柿色"}

以下选项中能输出“海贝色的是
A、print(DictColor. keys)
B、print(DictColor.[“海贝色”])
C、print(DictColor.values()
D、print(DictColr["seashell"])


5、文件 book.txt 在当前程序所在目录内,其内容是一段文本: book, 下面代码的输出结果是

txt = open("book.txt", "r')
print(txt)
txt.close()

A、book.txt
B、txt
C、book
D、以上答案都不对


6 关于 Python 组合数据类型,以下选项中描述错误的是( )
A、Python 的 str、tuple 和 list 类型都属于序列类型
B、Python 组合数据类型能够将多个同类型或不同类型的数据组织起来,通过单一的表示使数据操作更有序、更容易
C、组合数据类型可以分为 3 类:序列类型、集合类型和映射类型
D、序列类型是二维元素向量,元素之间存在先后关系,通过序号访问


7 下面代码的输出结果是 ( )

d ={
    
    "大海":"蓝色", "天空":"灰色", "大地":"黑色"}
print(d["大地"], d.get("大地", "黄色"))

A、黑色 黄色
B、黑色 黑色
C、黑的 灰色
D、黑色 蓝色


8 下面代码的执行结果是:( )

d = {
    
    }
for i in range(26):
	d[chr(i+ord("a"))] = chr((i+13) % 26 + ord("a"))
for c in "Python":
 	print(d.get(c, c), end="")

A、Plguba
B、Cabugl
C、Python
D、Pabugl


9 关于 Python 语言的浮点数类型,以下选项中描述错误的是 ( )
A、Python 语言要求所有浮点数必须带有小数部分
B、浮点数类型与数学中实数的概念一致
C、小数部分不可以为 0
D、浮点数类型表示带有小数的类型


10 关于 Python 程序中与“缩进”有关的说法中,以下选项中正确的是 ()
A、缩进统一为 4 个空格
B、缩进是非强制性的,仅为了提高代码可读性
C、缩进在程序中长度统一且强制使用
D、缩进可以用在任何语句之后,表示语句间的包含关系


11 下面代码的输出结果是 ( )

s = "The python language is a cross platform language."
print(s.find('language',30))

A、11
B、40
C、10
D、报错


12 关于 Python 循环结构,以下选项中描述错误的是 ( )
A、Python 通过 for、while 等保留字ᨀ供遍历循环和无限循环结构
B、break 用来跳出最内层 for 或者 while 循环,脱离该循环后程序从循环代码后继续执行
C、每个 continue 语句只有能力跳出当前层次的循环
D、遍历循环中的遍历结构可以是字符串、文件、组合数据类型和 range()函数等


13 以下选项中描述正确的是 ( )
A、条件 24<=28<25 是不合法的
B、条件 24<=28<25 是合法的,且输出为 True
C、条件 35<=45<75 是合法的,且输出为 False
D、条件 24<=28<25 是合法的,且输出为 False


14 在 Python 中,关于全局变量和局部变量,以下选项中描述不正确的是 ( )
A、一个程序中的变量包含两类:全局变量和局部变量
B、全局变量不能和局部变量重名
C、全局变量一般没有缩进
D、全局变量在程序执行的全过程有效


15 关于 Python 文件打开模式的描述,以下选项中错误的是()
A、只读模式 r
B、追加写模式 a
C、创建写模式 n
D、覆盖写模式 w

改错题

1、修改程序,输入 2 个整数 m,n 求它们的最大公倍数。
【输入】 输入两个整数 m,n
【输出】求两个整数的最大公倍数

m, n = map(int, input().split())

# 使用辗转相除法求最大公约数
while n == 0: # 本行有错
    temp = n
    n = m % n
    m = temp

# 此时m就是最大公约数
print(m)

答案:

m, n = map(int, input().split())

# 使用辗转相除法求最大公约数
while n != 0: # 已修改
    temp = n
    n = m % n
    m = temp

# 此时m就是最大公约数
print(m)

2、修改程序,实现求以 1 到 n 以内(包括 n)的奇数和,错误的位置已在程序中标出。
【输入】 输入 n
【输出】 输出 1-n 以内的奇数和

# 输入 n
n = int(input())

# 初始化奇数和为0
odd_sum = 0

# 遍历1到n之间的每个数
for num in range(1, n + 1):
    if num % 2 == 0: # 本行有错
        odd_sum += num

# 输出奇数和
print(odd_sum)

答案:

# 输入 n
n = int(input())

# 初始化奇数和为0
odd_sum = 0

# 遍历1到n之间的每个数
for num in range(1, n + 1):
    # 判断是否为奇数
    if num % 2 != 0: #已修改
        odd_sum += num

# 输出奇数和
print(odd_sum)

程序填空题

1、分段函数(表达式忘了,范围是x<-1;-1<= x<=1/2;x>1/2

# 输入 x
x = float(input())

# 判断 x 属于哪个区间,并计算相应的函数值
if :#代填处
    result = -2 * x
elif : #代填处
    result = x + 1
else:
    result = 3 * x - 1/2

# 输出结果
print(result)

答案:

# 输入 x
x = float(input())

# 判断 x 属于哪个区间,并计算相应的函数值
if x < -1:
    result = -2 * x
elif -1 <= x <= 1/2:
    result = x + 1
else:
    result = 3 * x - 1/2

# 输出结果
print(result)

2、求解输入的m,n之间的完备数,并打印出来

# 输入 m 和 n
m, n = map(int, input().split())

count = 0
# 遍历 m 到 n 之间的每个数
for i in range(m, n + 1):
    divisors = []
    # 找到 num 的所有正因子
    for j in: # 代填处
        if i % j == 0:
            divisors.append(j)

    # 判断 num 是否为完备数
    if sum(divisors) == i:
        count += 1
        print(i)

if count == 0:
    print("None")

答案:

# 输入 m 和 n
m, n = map(int, input().split())

count = 0
# 遍历 m 到 n 之间的每个数
for i in range(m, n + 1):
    divisors = []
    # 找到 num 的所有正因子
    for j in range(1, i):
        if i % j == 0:
            divisors.append(j)

    # 判断 num 是否为完备数
    if sum(divisors) == i:
        count += 1
        print(i)

if count == 0:
    print("None")

程序设计题

1、生成数字字典(‘i’:i*i),
输入:3
输出:{‘1’:1,‘2’:4,‘3’:9}
注意输出格式
具体实现

def create_num_dist(nums):
    return {
    
    str(num): num * num for num in range(1, nums + 1)}

input_num = int(input())
print(create_num_dist(input_num))

2、单词去重并且排序,以空格隔开的形式输出
输入:word is not words words include word
输出:include is not word words
具体实现

def sorted_words(str_input):
    u_words = sorted(set(str_input.split()))
    return u_words
text = input()
print(" ".join(sorted_words(text)))

3、凯撒密码
输入:cafd
3
输出:fdgi
具体实现:

def caesar_cipher(text, shift):
    result = ""
    for i in range(len(text)):
        char = text[i]
        if char.isupper():
            result += chr((ord(char) + shift - 65) % 26 + 65)  # 大写'A' -> 65
        else:
            result += chr((ord(char) + shift - 97) % 26 + 97)  # 小写'a' -> 97
    return result


input_text = input()
shift = int(input())
print(caesar_cipher(input_text,shift))

4、评分问题(去掉一个最大值和最小值,求平均分),输出保留两位小数
输入:100,95,60,80
输出:87.50
具体实现

input_num = input().split(",")
# 使用推导式
list = [int(x) for x in input_num] # 将num中的每个数字拿出来,并且转换成数字型,将其放在一个列表中

list.remove(min(list))
list.remove(max(list))

# 使用推导式
total = sum(i for i in list)
avr = total / len(list)

print('{:.2f}'.format(avr))

资料自提(若过期,请留言)

链接:https://pan.baidu.com/s/1G7_fdcW1DCkXzjFJiGcMaA?pwd=a8sa
提取码:a8sa

猜你喜欢

转载自blog.csdn.net/qq_52495761/article/details/134725600