一、单选题
1、关于Python3.10,下列选项描述正确的是( )。
A continue语句可以结束整个循环的执行
B break和continue语句只能用在循环中
C 要从嵌套循环中退出时,只能使用goto语句
D break和continue语句在循环体内的作用相同
2、下列数据类型中,哪一个是不可变的?( )
A 列表
B 元组
C 字典
D 集合
3、以下关于函数参数描述正确的是( )。
A 调用函数时,按参数名称传递参数,需要按照定义时的顺序进行传递
B 函数在定义时,可选参数的位置可以在參数列表中任意位置
C 函数在定义时,可以不指定可选参数默认值,在调用函数时传入参数
D 必需参数须以正确的顺序传入函数,调用时的数量必须和声明时的一样
4、下列运算符中,优先级最高的是( )。
A /
B %
C **
D +
5、执行以下程序后,输出的结果是( )。
L=[1,2,3,4,5,6,7,8,9]
print(L[1:4])
A [1,2,3]
B [1,2,3,4]
C [2,3]
D [2,3,4]
二、实操题
6、题目描述:
(注input()输入函数的括号中不允许添加任何信息)
时间限制:3000MS 内存限制:589824KB
编程实现:
输入一个整数N(-100<=N<=100),输出N-5的结果。
例如:N = 8,8-5的结果为3。
输入描述
输入一个整数N(-100<=N<=100)
输出描述
输出一个整数,表示N-5的结果
样例输入:
8
样例输出:
3
参考答案:输入一个整数N,输出N-5的结果。
7、题目描述:
(注.input()输入函数的括号中不允许添加任何信息)
时间限制:3000MS 内存限制:589824KB
编程实现:
给定一个正整数N(2≤N≤1000),请将N拆分成两个正整数A和B,且A和B尽量接近(N=A+B,A>=B,且A减B的值最小)。
例如:
N=4,拆分成2和2,此时2减2的值最小;
N=5,拆分成3和2,此时3减2的值最小。
输入描述
输入一个正整数N(2<=N<=1000)
输出描述
第一行输出一个正整数,表示拆分后的A
第二行输出一个正整数,表示拆分后的B
样例输入:
5
样例输出:
3 2
参考答案:```pythonn = int(input())A = n // 2B = n - Aprint(A)print(B)```
8、题目描述:
(注.input()输入函数的括号中不允许添加任何信息)
时间限制:3000MS 内存限制:589824KB
编程实现:
某商店搞促销活动“买二免一”,活动内容如下:
每买两件商品,结算时只收取其中价格高的商品费用,另一件商品不收取费用(相同价格只收取一件商品费用)。
小明选购了N件商品(2<=N<=1000,N为偶数),且已知每件商品的价格。请帮助小明,把商品进行两两组合,使得购买花费最少,并输出总费用。
例如:
N=6,6件商品价格分别为32、56、92、45、12、98,共结算3次。
当98与92组合,56与45组合,32与12组合时,花费最少,总费用为186(186=98+56+32)。
输入描述
第一行输入一个正整数N(2≤N≤1000,N为偶数),表示小明选购的商品数量
第二行输入N个正整数(1≤正整数≤100),表示每件商品的价格,正整数之间以一个英文逗号隔开
输出描述
输出一个整数,表示购买N件商品最少需要花费的钱数
样例输入
6 32,56,92,45,12,98
样例输出
186
参考答案:br />根据题目要求,我们可以先将商品按价格从高到低进行排序,然后从最高价开始,每两个商品为一组,若这两件商品的价格相同,则只收取一件商品的费用。最后将所有收取的费用累加即可得到最少花费。
9、题目描述:
(注.input()输入函数的括号中不允许添加任何信息)
时间限制:3000MS 内存限制:589824KB
编程实现:
期末考试小明取得了优异的成绩,妈妈为鼓励小明再接再厉,在网购平台指定了N(2<=N<=50)件礼物供小明挑选。挑选前妈妈提出了以下要求:
1)每种礼物只能挑选1件;
2)所挑选的礼物总价格不能大于V(1<=V<=100)。
已知N件礼物中每件礼物的价格和小明对每件礼物的喜爱值(喜爱值越大喜爱程度越高),请你帮助小明挑选礼物,使得挑选的所有礼物在满足要求的前提下,总的喜爱值最大,并输出最大喜爱值。
例如:
N=3,V=5,3件礼物的价格和喜爱值分别为(1,2),(2,4),(3,3)。
可挑选第二件礼物(2,4)和第三件礼物(3,3),总价格为5(5=2+3),总喜爱值为7(7=4+3),总价格不大于5且喜爱值最大,输出7。
输入描述
第一行输入两个正整数N(2≤N≤50)和V(1≤V≤100),分别表示指定的礼物数量和所挑选的礼物总价格不能大于的值,正整数之间以一个英文逗号隔开
第二行开始,输入N行,每行输入两个正整数J(1≤J≤V)和K(1≤K≤100),分别表示每件礼物的价格和喜爱值,正整数之间以一个英文逗号隔开
输出描述
输出一个整数,表示在满足题目要求下的最大喜爱值
样例输入
3,5 1,2 2,4 3,3
样例输出
7
参考答案:根据题目描述,我们需要使用动态规划来解决这个问题。我们可以定义一个二维数组dp,其中dp[i][j]表示前i件礼物中挑选总价格为j时的最大喜爱值。根据题目要求,我们可以得到状态转移方程:dp[i][j] = max(dp[i-1][j], dp[i-1][j-price[i]] + value[i]),其中price[i]和value[i]分别表示第i件礼物的价格和喜爱值。最终答案为dp[N][V],表示前N件礼物中挑选总价格为V时的最大喜爱值。
10、题目描述:
(注.input()输入函数的括号中不允许添加任何信息)
时间限制:3000MS 内存限制:589824KB
编程实现:
小明有一张N*M的方格纸,且部分小方格中涂了颜色,部分小方格还是空白。
给出N(2≤N≤30)和M(2≤M≤30)的值,及每个小方格的状态(被涂了颜色小方格用数字1表示,空白小方格用数字0表示),请帮助小明找出最大的矩形空白区域,并输出该矩形空白区域由多少个小方格组成。
例如:N=4,M=5,4*5的方格纸中每个小方格的状态如下图:

最大的空白区域由6个小方格组成(红色框区域)。
输入描述
第一行输入两个正整数N和M(2≤N≤30,2≤M≤30),分别表示方格纸的行数和列数,两个正整数之间以一个空格隔开
第二行开始输入N行,每行M个整数(整数为1或者0),1表示涂色方格,0表示空白方格,整数之间以一个空格隔开
输出描述
输出一个整数,表示最大矩形由多少个小方格组成(如果没有空白小方格,输出0)
样例输入
4 5 1 1 0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 0 1 0
样例输出
6
参考答案:```pythondef max_rectangle(matrix):if not matrix:return 0rows, cols = len(matrix), len(matrix[0])heights = [0] * colsmax_area = 0for i in range(rows):for j in range(cols):if matrix[i][j] == 0:heights[j] += 1else:heights[j] = 0max_rect_area = max(max_rect_area,calculate_rectangle_area(heights, i))return max_rect_areadef calculate_rectangle_area(heights, row):stack = []max_area = 0for j in range(len(heights)):while stack and heights[j] < heights[stack[-1]]:width = j - stack.pop()max_area = max(max_area,heights[stack[-1]] * width)stack.append(j)while stack:width = len(heights) - stack.pop()max_area = max(max_area,heights[stack[-1]] * width)return max_areaN, M = map(int, input().split())matrix = [list(map(int, input().split())) for _ in range(N)]print(max_rectangle(matrix))```
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!




