一、单选题
1、执行 print(23/10)语句后,输出的结果是( )。
A、
2
B、 2.3
C、
3
D、
23
2、下列选项中,哪个不是集合中的内置方法?( )
A isdisioint()
B copy()
C string()
D issubset()
3、己知:s="hellopython”,执行 print(s[1:8])语句后,输出的结果是( )。
A、 hello py
B、
hello p
C、
ello py
D、
ello p
4、下列函数中,哪一个可以生成随机小数?( )
A、
randint()
B、
randrange()
C、
shuffle()
D、 random()
5、下列关于列表描述不正确的是( )。
A、
列表中的元素可以使用下标/索引访问
B、
列表中的元素可以使用 del 语句删除
C、 使用 add 方法可以向列表中添加元素
D、
列表是包含 0 个或者多个对象引用的有序序列
二、实操题
6、题目描述:
(注.input()输入函数的括号中不允许添加任何信息)
编程实现:
给定整数 N (-1000 ≤N≤1000),输出比 N 大 1 的数。
例如:N = 5,比 5 大 1 的数是 6,则输出 6。
输入描述:
输入一个整数 N (-1000≤N≤1000)
输出描述:
输出一个整数,表示比 N 大 1 的数
样例输入:
5
样例输岀:
6
参考答案:```pythonN = int(input())print(N + 1)```
7、题目描述:
(注.input()输入函数的括号中不允许添加任何信息)
编程实现:
给定一个正整数 N (10≤N≤10000),,输出 N 中所有数位上最小的数字。
例如:N=1182,1182 各数位上的数字分别为 1、1、8、2,其中数位上最小的数字为 1,则输出 1。
输入描述:
输入一个正整数 N (10≤N≤10000)
输出描述:
输出一个整数,表示 N 中所有数位上最小的数字
样例输入:
1182
样例输岀:
1
参考答案:br />对于输入的整数N,首先将其转化为字符串,然后遍历字符串中的每一个字符,将其转化为对应的数字,并找到其中的最小值,最后输出这个最小值。
8、题目描述:
(注.input()输入西数的括号中不允许添加任何信息)
编程实现:
给定—组整数数据(不超过 100 个整数),按顺序完成以下操作并输出结果。
操作要求:
1)将数据中的所有负整数转化为正整数;
2)对转化后的数据进行从小到大排序。
例如:整数数据为 1,-3,6,-2,将负整数转化为正整数后得到 1,3,6,2,按数值从小到大排序后的结果为 1,2,3,6。
输入描述:
输入一行整数数据(-100≤整数≤100) ,整数之间以一个英文逗号隔开
输出描述:
输出一行整数数据,表示按照要求操作后的结果,整数之间以一个英文逗号隔开
样例输入:
1, -3, 6, -2
样例输出:
1, 2, 3, 6
参考答案:br />输入:1, -3, 6, -2输出:1, 2, 3, 6
9、编程实现:
假设果园中有 N (1≤N≤100)种水果。猴子想要采摘一些水果带回家,但猴子采摘水果的总重量不能超过 W(1≤W≤1000)。
已知每种水果的最大采摘数量 Ni (1≤Ni≤100)、每种水果单个的重量 Wi (1≤Wi≤100)以及每种水果单个的维生素含量 Vi (1≤Vi≤100)。
在采摘水果的总重量不超过 w 的情况下,猴子最多可以获得多少维生素。
例如:N=3,W=5,表示有 3 种水果,旦猴子采摘水果的总重量不能超过 5。
每种水果的最大采摘数量 Ni、每种水果单个的重量 Wi 及每种水果单个的维生素含量 Vi,如下表:
猴子可按以下方式采摘,获得最多的维生素:
1)采摘第一种水果 3 个,3 个水果的重量为 3,3 个水果维生素含量为 6;
2)采摘第二种水果 1 个,1 个水果的重量为 2,1 个水果维生素含量为 4;
水果总的维生素含量最多为 10 (10=6+4)。
输入描述:
第一行输入两个正整数 N (1≤N≤100)和 W (1≤W≤1000),分别表示水果的种类数和猴子最多可采摘的水果总重量,
两个正整数之间以一个空格隔开
接下来 N 行,每行输入三个正整数 Ni (1≤Ni≤100)和 Wi(1≤Wi≤100) 及 Vi (1≤Vis100),分别表示某种水果的最大
采摘数量和某种水果单个的重量及某种水果单个的维生素含量,正整数之间以一个空格隔开
输出描述:
输出一个整数,表示在不能超过水果总重量 w 的情况下,猴子最多能获得到的维生素值
样例输入:
3 5 4 1 2 1 2 4 2 4 5
样例输出:
10
参考答案:```pythonN, W = map(int, input().split())fruits = []for _ in range(N):Ni, Wi, Vi = map(int, input().split())fruits.append((Ni, Wi, Vi))vitamins = 0weight = 0for ni, wi, vi in fruits:for _ in range(min(ni, W // wi)):vitamins += viweight += wiW -= wiif weight > W:breakprint(vitamins)```
10、编程实现:
两名宇航员在探泰一个未知行星,行星上有-一 些障碍物,这些障碍物用数字 1 表示,没有障碍物用数字 0 表示。
行星被表示成一个 N*M 的矩阵。
探素过程中两名宇航员走散了。已知 A 宇航员的位置 (×1,y1)和 B 宇航员的位置(x2,y2),请你帮助 A 宇航员寻找一条最短路径到达 B 宇航员的位置,并输出最短路径的长度(不包括起点)。
注意:
1.x1、x2 表示矩阵的行号,y1、y2 表示矩阵的列号;
2.左上角的位置为(0,0);
3.A、B 宇航员的位置只能在数字 0 上;
4.有障碍物的位置不能通过。
例如:当 N=4, M=5, x1=1,y1=0, x2=3,y2=3,A 宇航员位置(1,0) ,B 宇航员位貴(3,3),矩阵表示如下:
A 宇航员到 B 宇航员有 2 条路径:
第 1 条路径(1,0) -> (0,0) ->(0,1)->(0,2) ->(1,2) -> (2,2)-> (2,3) -> (3,3),路径长度为 7;
第 2 条路径(1,0) ->(2, 0) -> (2,1)-> (2,2)->(2,3)-> (3,3),路径长度为 5:
其中最短路径长度为 5。
输入描述:
第一行包含两个正整数 N (1≤N≤20)和 M (1≤M≤20),分别表示矩阵的行数和列数,正整数之间—个空格隔开
接下来 N 行,每行包含 M 个数字 (0 或 1),0 表示行星上没有障碍物的位置,1 表示行星上有障碍物的位置,整数之间—个空格隔开
最后一行包含四个整数 x1 (0≤x1 <N) , y1 (0≤y1<M),x2(0≤x2<N), y2 (0≤y2<M), (x1, y1) 表示 A 宇航员的位置,(x2,y2)表示 B 宇航员的位置,整数之间一个空格隔开
输出描述:
输出一个整数,表示 A 宇航员到达 B 宇航员的最短路径长度。如果输入不符合要求,输出-2,如果无法到达,输出-1
样例输入:
4 5 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 1 0 0 1 0 3 3
样例输岀:
5
参考答案:```pythondef find_shortest_path(N, M, matrix, x1, y1, x2, y2):if x1 < 0 or x1 >= N or y1 < 0 or y1 >= M or x2 < 0 or x2 >= N or y2 < 0 or y2 >= M:return -2if matrix[x1][y1] == 1 or matrix[x2][y2] == 1:return -1queue = [(x1, y1, 0)]visited = set([(x1, y1)])directions = [(0, 1), (0, -1), (1, 0), (-1, 0)]while queue:x, y, step = queue.pop(0)if x == x2 and y == y2:return stepfor dx, dy in directions:nx, ny = x + dx, y + dyif 0 <= nx < N and 0 <= ny < M and (nx, ny) not in visited and matrix[nx][ny] == 0:queue.append((nx, ny, step + 1))visited.add((nx, ny))return -1N, M = map(int, input().split())matrix = [list(map(int, input().split())) for _ in range(N)]x1, y1, x2, y2 = map(int, input().split())print(find_shortest_path(N, M, matrix, x1, y1, x2, y2))```
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!