一、单选题
1、下列哪个是赋值运算符?( )
A =
B !=
C ==
D //
2、Python 中定义函数的关键字是( )。
A class
B import
C def
D while
3、Python 中可以创建空字典的是( )。
A dic = ()
B dic = {}
C dic = set()
D dic = []
4、已知:s = 'pythonnohtyp',执行 print(s.index('h') + s.rindex('n')) 语句后,输出的结果是( )。
A -2
B -3
C 9
D 11
5、已知 a = {1, 2, 3, 4, 5},b = {2, 3, 4, 5, 6}。下列选项中可以获得集合 {1, 6} 的是( )。
A、
(a & b) | (a - b)
B、
(a | b) | (a - b)
C、
(a - b) & (b - a)
D、 (a | b) - (b & a)
二、实操题
6、n 的立方
提示信息:
整数 n 的立方 = n × n × n。
编程实现:
给定一个整数 n,计算 n 的立方。
例如:n = 2,2 的立方等于 8 (8 = 2 × 2 × 2)。
输入描述:
输入一个整数 n(1≤n≤1000)
输出描述:
输出一个整数,表示 n 的立方
样例输入:
2
样例输出:
8
参考答案:根据题目要求,我们需要编写一个程序来计算整数 n 的立方。输入是一个整数 n(1≤n≤1000),输出是一个整数,表示 n 的立方。
7、找第二大的数
编程实现:
给定三个互不相同的整数,找出其中第二大的数。
例如:三个整数分别为 30、20、25,其中第二大的数是 25。
输入描述:
输入共三行,每行一个整数(1≤整数≤1000),三个整数互不相同
输出描述:
输出一个整数,表示三个整数中第二大的数
样例输入:
30 20 25
样例输出:
25
参考答案:br />```python# 读取输入a = int(input())b = int(input())c = int(input())# 找出第二大的数second_largest = max(min(a, b), min(a, c))if second_largest == a:second_largest = max(b, c)else:second_largest = a# 输出结果print(second_largest)```
8、摆放箱子
编程实现:
工人需要将 n 个边长为 1 的正方体箱子整齐地摆放在长度为 L,宽度为 1 的区域。要求每一层摆满 L 个箱子后,
才能往上一层摆放。
请计算 n 个箱子可以放多少层(最上层只要有箱子就算作一层),以及最上层有几个箱子。
例如:n = 8,L = 3,将 8 个箱子摆放在长度为 3,宽度为 1 的区域,可以放 3 层,最上层有 2 个箱子。
输入描述:
第一行输入一个整数 n(1≤n≤100),表示箱子数量
第二行输入一个整数 L(1≤L≤100),表示区域的长度
输出描述:
输出两个整数,分别表示 n 个箱子可以放多少层以及最上层有几个箱子,整数之间以一个空格隔开
样例输入:
8 3
样例输出:
3 2
参考答案:3 2
9、数字塔
提示信息:
数字塔:是由若干个正六边形搭建的一个 n 层的塔,其中每个正六边形中都有一个整数,正六边形和整数的
排列规律如下:
第 n 层的整数从左到右为 1、2、3......n
编程实现:
给定一个整数 n,根据提示信息中数字塔的规律,请计算 n 层数字塔中所有整数的和。
例如: n = 4,4 层的数字塔如下:
所有正六边形中的整数为 1、1、2、1、2、3、1、2、3、4;
所有整数的和为 20。
输入描述:
输入一个整数 n(1≤n≤100),表示数字塔的层数
输出描述:
输出一个整数,表示 n 层的数字塔中所有整数的和
样例输入:
4
样例输出:
20
参考答案:根据题目描述,我们需要计算数字塔中所有整数的和。数字塔是由若干个正六边形搭建的,每个正六边形中都有一个整数,整数的排列规律是从1开始递增。首先,我们需要明确数字塔的结构。数字塔的第n层有n个正六边形,每个正六边形中的整数从左到右为1、2、3......n。要计算数字塔中所有整数的和,我们可以按照以下步骤进行:1. 初始化一个变量sum,用于存储整数的和,初始值为0。2. 对于每一层数字塔,从1到n遍历每个正六边形中的整数,将其累加到sum中。3. 返回sum作为结果。
10、输出字符串
编程实现:
小蓝用仅包含小写字母的字符串表示整数,规则如下:
给定一个整数 n,输出 n 对应的字符串。
例如:n = 28,28 对应的字符串为 ab。
输入描述:
输入一个整数 n(1≤n≤108)
输出描述:
输出一个字符串,表示 n 对应的字符串
样例输入:
28
样例输出:
ab
参考答案:```pythondef get_string(n):result = ""while n > 0:n, remainder = divmod(n, 26)result = chr(ord('a') + remainder) + resultreturn resultn = int(input())print(get_string(n))```
11、密码锁
提示信息:
密码锁:由 n 个从左到右并排的圆环组成,每个圆环上都有 10 个数字(0~9),蓝色框内为密码显示区,每个圆环在密码显示区只能显示一个数字,如图所示。可以拨动圆环,来改变密码显示区显示的数字。
当密码显示区的数字与密码一致时,密码锁就会被打开。
编程实现:
有一个由 n 个圆环组成的密码锁,和一个 n 位的密码 S(S 由 1~9 中的数字(包含 1 和 9)组成)。每次操作只能选择一个或位置连续的多个圆环拨动。当 S 中的字符从左到右依次显示在密码显示区时,密码锁会被打开。
已知每个圆环在密码显示区初始数字都为 0,请计算最少需要操作多少次,才能打开密码锁。
注意:
1、如果选择了其中一个圆环,可将该圆环中任意一个数字拨动到密码显示区,表示 1 次操作;
例如:将第 3 个圆环拨动到数字 4,表示 1 次操作:
2、如果选择了位置连续的多个圆环,只能将这些圆环拨动成同一个数字,显示在密码显示区,表示 1 次操作。
例如:将连续的第 2 个到第 3 个圆环都拨动到数字 5,表示 1 次操作:
例如:n = 5,S = "12321";分别表示 5 个圆环组成的密码锁和密码 12321;将 5 位密码 1、2、3、2、1从左到右依次显示在密码显示区,以下是操作次数最少的方案:
第一次操作,将 5 个初始状态为 0 的圆环全部拨动到数字 1:
第二次操作,将第 2 个到第 4 个圆环全部拨动到数字 2:
第三次操作,将第 3 个圆环拨动到数字 3:
最少需要操作 3 次,才能打开密码锁。
输入描述:
第一行输入一个整数 n(1≤n≤100),表示组成的密码锁的圆环数及密码的位数
第二行输入一个长度为 n 的字符串 S,S 由 1~9 中的数字(包含 1 和 9)组成,表示密码
输出描述:
输出一个整数,表示最少需要操作多少次,才能打开密码锁
样例输入:
5 12321
样例输出:
3
参考答案:根据题目描述,我们需要计算最少需要操作多少次,才能打开密码锁。首先,我们需要遍历密码S中的每个字符,对于每个字符,我们需要找到密码显示区中需要拨动的圆环,并将这些圆环拨动到当前字符。对于每个字符,我们需要找到所有需要拨动的圆环,这可以通过比较密码S中的当前字符和密码显示区中对应位置的字符来实现。如果密码显示区中对应位置的字符为0,则需要拨动该位置的圆环。然后,我们需要计算需要拨动的圆环数,这可以通过遍历密码S中的每个字符,并计算需要拨动的圆环数来实现。如果当前字符和上一个字符相同,则只需要拨动当前位置的圆环;否则,需要拨动从上一个不同字符的位置到当前位置的所有圆环。最后,我们将所有需要拨动的圆环数相加,即可得到最少需要操作多少次,才能打开密码锁。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!