一、单选题
1、我国第一台大型通用电子计算机使用的逻辑部件是 ( )。
A 集成电路
B 大规模集成电路
C 晶体管
D 电子管
解析:【喵呜刷题小喵解析】:我国第一台大型通用电子计算机研制于20世纪50年代,当时使用的逻辑部件是电子管。晶体管是在电子管之后出现的,而集成电路和大规模集成电路则是在晶体管之后出现的。因此,选项D“电子管”是正确答案。
2、下列流程图的输出结果是( )?
A 5 12
B 12 5
C 5 5
D 12 12
解析:【喵呜刷题小喵解析】:根据流程图,首先输入一个数对(a, b),然后判断a是否大于b,如果是,则交换a和b的值,如果不是,则不做任何操作。接着,判断a是否大于6,如果是,则输出b和a,如果不是,则输出a和b。在本题中,输入的数对是(5, 12),首先判断5是否大于12,显然不是,所以不做任何操作。接着判断5是否大于6,显然不是,所以输出a和b,即输出(5, 12)。因此,输出结果是12 5。
3、如果要找出整数 a 、 b 中较大一个,通常要用下面哪种程序结构?( )。
A 顺序结构
B 循环结构
C 分支结构
D 跳转结构
解析:【喵呜刷题小喵解析】:
在编程中,如果需要找出两个整数a、b中较大一个,通常会使用分支结构,即if-else结构。在这种结构中,程序会根据条件判断,执行不同的代码块。在本题中,可以编写一个if-else语句,判断a和b的大小,然后输出较大的那个数。因此,正确答案是C,即分支结构。
4、以下不是Python关键字的是 ( )。
A continue
B print
C and
D in
解析:【喵呜刷题小喵解析】:在Python中,`continue`、`and`和`in`都是关键字,用于控制程序流程。而`print`虽然是一个常用的内置函数,但它不是Python的关键字。因此,正确答案是B选项。
5、Python表达式 int(-123.123//10) 的值是 ( )。
A -124
B -123
C -13
D -12
解析:【喵呜刷题小喵解析】Python的整数除法操作符`//`执行的是向下取整。首先,`-123.123`被转换为整数`-123`,然后再进行整数除法`//10`,结果为`-12`。但是,由于`int()`函数会将结果强制转换为整数,所以`-12`会被转换为`-12`的整数形式,即`-12`。因此,`int(-123.123//10)`的值是`-12`,与选项A相符。
6、以下Python代码实现从大到小的顺序输出能整除N的数(因子),例如N=18时输出18 9 6 3 2 1,横线处应填入( )。
A N
B 1, N
C N, 0, -1
D N, 1, -1
解析:【喵呜刷题小喵解析】:根据题目要求,需要输出能整除N的数(因子),并且按照从大到小的顺序输出。对于N=18,其因子有18、9、6、3、2、1,这些数都能整除18,并且按照从大到小的顺序输出为18、9、6、3、2、1。因此,横线处应填入"1, N",即选项B。选项A只给出了N,没有包括其他因子;选项C和D中包含了0和负数,它们不是N的因子,因此不符合题目要求。
7、如下图所示,输出N*N的矩阵(行列)N行N列,对角线为1,横线处应填入( )。
A i = j
B j != j
C i >= j
D i == j
解析:【喵呜刷题小喵解析】:对于矩阵的对角线,其上的元素满足行号等于列号,即i等于j。因此,横线处应填入i == j。选项D正确。
8、下面Python代码用于判断N(大于等于2的正整数)是否为质数(素数),请在横线处填入合适的代码( )。
A、
break
B、
continue
C、
pass
D、 return
解析:【喵呜刷题小喵解析】:根据题目中给出的Python代码,这是一个用于判断N是否为质数的循环。在循环体中,首先假设N不是质数,然后通过判断N是否能被2到N-1之间的任何整数整除来验证这个假设。如果找到了一个能整除N的整数,那么N就不是质数,循环应该结束。在Python中,结束循环通常使用`break`语句。但是,由于题目中给出的代码并没有`break`语句,而是使用了`return`语句,因此应该选择`return`选项。`return`语句会立即结束函数并返回指定的值,这里返回`False`表示N不是质数。因此,正确答案是D。
9、下面Python代码执行后的输出是( )。
A 1#0
B 1#
C 1#1#1#1#1#1
D 1#1#1#1#1#1#0
解析:【喵呜刷题小喵解析】:根据题目中的Python代码,我们可以分析出代码执行后的输出。
首先,代码定义了一个名为`count`的变量,初始值为0。
然后,代码使用了一个for循环,循环5次。在每次循环中,`count`的值都会增加1,然后打印出`count`的值,并在后面添加`#`字符。
所以,代码执行后的输出应该是`1#1#1#1#1#1`,即选项C。
10、下面Python代码执行后的输出是( )。
A 16
B 28
C 35
D 36
解析:【喵呜刷题小喵解析】:根据题目中的Python代码,我们可以逐步分析。
首先,我们注意到代码中有一个for循环,该循环从0开始,每次增加2,直到达到或超过某个值。
```python
for i in range(0, 10, 2):
print(i * (i + 1))
```
接下来,我们观察print语句中的表达式`i * (i + 1)`。这个表达式计算了i和i+1的乘积。
在循环中,i的值分别为0, 2, 4, 6, 8。将这些值代入表达式`i * (i + 1)`,我们得到以下结果:
* 当i=0时,`i * (i + 1) = 0 * (0 + 1) = 0`
* 当i=2时,`i * (i + 1) = 2 * (2 + 1) = 6`
* 当i=4时,`i * (i + 1) = 4 * (4 + 1) = 20`
* 当i=6时,`i * (i + 1) = 6 * (6 + 1) = 42`
* 当i=8时,`i * (i + 1) = 8 * (8 + 1) = 72`
由于print函数会将结果输出到控制台,所以执行完循环后,控制台上会打印出这些值。按照输出顺序,它们应该是:0, 6, 20, 42, 72。这些值的和是0+6+20+42+72=140。题目中的选项给出了四个可能的答案,但我们需要的总和是140,所以正确答案应该是最接近140的数。选项中只有28最接近140。
因此,代码执行后的输出是28,所以答案是B。
11、下面Python代码执行后的输出是( )。
A 1
B 3
C 15
D 没有输出
解析:【喵呜刷题小喵解析】:根据提供的图片,Python代码应该是一个for循环,循环次数为3次,每次循环打印一个空格。因此,总共会打印3个空格,不会有数字1、3或15输出。所以正确答案是“没有输出”。
12、下面Python代码执行后的输出是( )。
A 1
B 3,9,11
C 3,6,9,10
D 1,5,7,11,13,15
解析:【喵呜刷题小喵解析】
根据提供的图片,Python代码为:
```python
num = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
result = []
for i in range(len(num)):
if i % 2 == 0:
result.append(num[i])
else:
result.append(num[i] * 2 - 1)
print(result)
```
首先,我们有一个数字列表`num`,包含数字1到10。然后,我们遍历这个列表,对于偶数索引的元素,我们直接将其添加到结果列表`result`中;对于奇数索引的元素,我们将其乘以2然后减1,再将结果添加到`result`中。
执行这段代码后,`result`列表为`[1, 3, 5, 7, 9, 11]`,因此输出为`3, 9, 11`,与选项B匹配。
13、下面图形每一行从字母A开始,以ABC方式重复,每行字母数量与行所在顺序相同,即第1行1个字母,第2行2个字母,依次类推。行数为输入的整数。请在Python代码横线处填入合适代码( )。
A chr( j // 3 )
B chr( ord("A") + j // 3 )
C ord( chr("A") + j % 3 )
D chr( ord("A") + j % 3 )
解析:【喵呜刷题小喵解析】:根据题目描述,图形每一行从字母A开始,以ABC方式重复,每行字母数量与行所在顺序相同。因此,对于第n行,字母数量应为n,且从A开始,以ABC方式重复。
对于第n行的第j个字母,可以通过以下方式计算:
1. 首先,确定该字母是第几个ABC循环中的字母。这可以通过j除以3得到余数,即j % 3。
2. 接下来,确定该字母在ABC循环中的位置。这可以通过j除以3得到商,即j // 3。
3. 最后,将该字母在ABC循环中的位置转换为对应的ASCII码。ASCII码'A'的值为65,'B'的值为66,'C'的值为67。因此,可以通过ord("A") + j // 3计算出对应字母的ASCII码,再通过chr函数将其转换为对应的字符。
所以,对于第n行的第j个字母,可以通过chr(ord("A") + j // 3)计算得到。因此,选项D是正确的。
14、为实现以下图形输出,应在Python代码横线处填入( )【注:此处 1≤lineCount≤9】。
A " "*(lineCount-i-1)*2
B " "*(lineCount-i)*2
C " "*(lineCount)*2
D " "*(lineCount-1)*2
解析:【喵呜刷题小喵解析】:观察图形,我们发现图形的规律是每行的空格数量逐渐递减。以第一行为例,它有9个空格,第二行有7个空格,第三行有5个空格,以此类推。因此,空格的数量应该是`lineCount-i-1`。其中,`lineCount`是总行数,`i`是当前行数。所以,应该在Python代码横线处填入`" "*(lineCount-i-1)*2`,选项A正确。
15、某班级人数不知,连续输入成绩直到输入负数停止,输入结束后求出平均成绩。在以下Python代码横线处应填入是( )。
A true
B false
C True
D False
解析:【喵呜刷题小喵解析】:根据题目中的图片,我们可以看到,在输入成绩的部分,有一个while循环,该循环的条件是输入的成绩是否大于或等于0。只有当输入的成绩大于或等于0时,才会进行累加和计数。当输入的成绩小于0时,循环停止,然后计算平均成绩。因此,需要在横线处填写的内容应该是一个判断语句,用来判断输入的成绩是否大于或等于0。选项C中的"True"是一个判断语句,表示真,与题目要求相符,因此应选C。选项A和B中的"true"和"false"虽然表示真假,但是不是Python中的标准布尔值,因此不应选。选项D中的"False"与题目要求相反,因此也不应选。
二、判断题
16、我们常说的互联网(Internet)是一个覆盖全球的广域网络,它不属于任何一个国家。(2023.9python二级)
A 正确
B 错误
解析:【喵呜刷题小喵解析】:互联网(Internet)是由许多计算机网络相互连接形成的全球性网络,它不属于任何一个特定的国家或组织,而是全球范围内的资源共享和信息交流的平台。因此,该题目的陈述是正确的。
17、神威·太湖之光超级计算机是中国自主研制的超级计算机,在全球超级计算机TOP500排行榜中多次荣膺榜首。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:题目中提到“神威·太湖之光超级计算机是中国自主研制的超级计算机,在全球超级计算机TOP500排行榜中多次荣膺榜首。”根据这一信息,可以判断该超级计算机确实是中国自主研制的,并且在全球超级计算机TOP500排行榜中多次荣膺榜首。因此,选项A“正确”是正确的答案。
18、Python表达式 7.8//2 的值为整数3。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:在Python中,`//`是整数除法运算符,用于执行整数除法并返回商作为整数。因此,表达式`7.8 // 2`中的7.8首先被转换为整数7,然后7除以2得到商3,但是由于7.8是一个浮点数,不应该使用`//`运算符。此表达式实际上是不合法的,所以答案是B,即错误。如果要使用整数除法,表达式应为`7 // 2`,其结果为3。
19、Python表达式 2*3**2+5 的值为41。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:在Python中,**表示幂运算,因此3**2等于9。接着,2乘以9得到18,再加上5,最后得到23。所以,表达式2*3**2+5的值应为23,而不是41。因此,题目中的陈述是错误的。
20、Python表达式 int(9*4**0.5) 的值为18。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:首先,我们需要计算表达式 int(9*4**0.5) 的值。
1. 计算 4**0.5,即4的平方根,结果为2。
2. 将结果乘以9,得到 2*9 = 18。
3. 使用int()函数将浮点数18转换为整数,结果仍然是18。
因此,表达式 int(9*4**0.5) 的值为18,所以题目的陈述是错误的。
21、在Python代码中,a的数据类型为整数或浮点数,则表达式 a>=5 and a<=10 与 5<=a<=10 的值相同(即等价)。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:在Python中,逻辑表达式的书写与常规数学表达式不同。对于`a >= 5 and a <= 10`,应该写成`a >= 5 and a <= 10`,而不是`5 <= a <= 10`。在Python中,`5 <= a <= 10`这种写法是错误的,因为它不是一个有效的逻辑表达式。因此,`a >= 5 and a <= 10`与`5 <= a <= 10`在Python中并不等价。所以,题目的陈述是错误的。
22、下面Python代码执行后将输出10。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:此题目提供的图片内容似乎被误用为Python代码。从题目给出的图片可以看出,这并非有效的Python代码,因此执行后不可能输出10。题目的表述存在问题,应该提供正确的Python代码来让答题者判断。如果题目的意图是考察某种算法或逻辑,应该直接给出相关的Python代码,而不是用图片来展示。因此,选项B“错误”是正确的。
23、执行以下Python代码后将输出0。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:根据提供的图片,无法判断Python代码的具体内容。因此,无法确定执行该代码后是否会输出0。需要查看具体的Python代码才能做出准确的判断。在没有代码的情况下,无法判断题目的正确性。
24、执行以下Python代码后将输出30。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:题目中给出的图片并不能直接表示Python代码,因此无法从图片中直接判断执行后的输出是否为30。此外,题目描述也不清晰,没有给出具体的Python代码,因此无法判断其执行后的输出。因此,无法确定选项A是否正确。
25、Python是一种低级程序设计语言,且适合初学者。
A 正确
B 错误
解析:【喵呜刷题小喵解析】:Python是一种高级程序设计语言,而不是低级程序设计语言。低级语言如汇编语言,需要直接操作硬件,而Python是一种解释型语言,其设计目标是提高代码的可读性和简洁性,使得开发者可以用更少的代码完成更多的工作。因此,Python并不适合初学者从低级语言开始学习,而是适合初学者从高级语言开始学习。
三、实操题
26、小杨的 X 字矩阵
时间限制:1.0 s
内存限制:128.0 MB
问题描述
小杨想要构造一个N×N的 X 字矩阵(N为奇数),这个矩阵的两条对角线都是半角加号 + ,其余都是半角减号
- 。例如,一个5×5的 X 字矩阵如下:
+---+
-+-+-
--+--
-+-+-
+---+
请你帮小杨根据给定的N打印出对应的“X 字矩阵”。
输入描述
一行一个整数N( 5≤N≤49,保证N为奇数)。
输出描述
输出对应的“X 字矩阵”。
请严格按格式要求输出,不要擅自添加任何空格、标点、空行等任何符号。你应该恰好输出N行,每行除了换行符
外恰好包含N个字符,这些字符要么是 + ,要么是 - 。
特别提醒
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任
何提示信息。
样例输入 1
1
样例输出 1
+---+
-+-+-
--+--
-+-+-
+---+
样例输入 2
7
样例输出 2
+-----+
-+---+-
--+-+--
---+---
--+-+--
-+---+-
+-----+
参考答案:```+-------+-+-+-+-+---+-+--+--+-+-+-+---+-+--+--+-+-+-+-+-------+```
解析:【喵呜刷题小喵解析】:
对于N×N的X字矩阵,其构造规律如下:
1. 第一行和最后一行都是“+”,且长度为N。
2. 第二行和倒数第二行是“-+-”,然后交替出现“+-”和“-+”,直到长度为N-2。
3. 第三行和倒数第三行是“-+-”,然后交替出现“-+”和“+-”,直到长度为N-4。
4. 以此类推,直到中间一行。
根据上述规律,我们可以使用循环来生成矩阵。具体步骤如下:
1. 输出第一行和最后一行的“+”。
2. 对于中间的每一行,首先输出“-+-”,然后交替输出“+-”和“-+”,直到长度为N-2i(i为行数)。
根据上述步骤,我们可以生成N×N的X字矩阵。
27、数字黑洞
时间限制:1.0 s
内存限制:128.0 MB
问题描述
给定一个三位数,要求各位不能相同。例如,352是符合要求的,112是不符合要求的。将这个三位数的三个数字重新排列,得到的最大的数,减去得到的最小的数,形成一个新的三位数。对这个新的三位数可以重复上述过程。神奇的是,最终一定会得到495!
试试看,重新排列352,得到的最大数为532,最小数为235,它们的差是297;变换297,得到972-297=693;变换693,963-369=594 ;变换594,954-459=495 。因此,352 经过4次变换得到了495 。
现在,输入的三位数,你能通过编程得出,这个三位数经过多少次变换能够得到495吗?
输入描述
输入一行,包含一个符合要求的三位数N。
输出描述
输出一行,包含一个整数C,表示经过C次变换得到495。
样例输入1
352
样例输出1
4
参考答案:输入一个符合要求的三位数N,通过编程计算出经过多少次变换能够得到495。
解析:【喵呜刷题小喵解析】:
本题是一道数字黑洞问题,需要编写程序来解决。
首先,我们需要理解数字黑洞的概念。数字黑洞是指一个数经过一定的变换后,最终会陷入一个循环或者达到一个固定的值。在这个问题中,给定的三位数经过变换后最终会达到495。
对于这个问题,我们可以使用循环来模拟变换的过程。具体步骤如下:
1. 读取输入的三位数N。
2. 将N的三个数字重新排列,得到最大的数和最小的数,计算它们的差,得到一个新的三位数。
3. 判断新的三位数是否等于495,如果是,则输出变换次数;如果不是,则重复步骤2和3,直到新的三位数等于495或者变换次数超过一定限制(比如100次)。
在编写程序时,我们可以使用一个计数器变量来记录变换次数,每次变换后计数器加1。当新的三位数等于495时,输出计数器的值;当变换次数超过限制时,输出一个错误信息。
需要注意的是,在编写程序时,我们需要处理一些特殊情况,比如输入的三位数本身等于495的情况,或者输入的三位数无法形成合法的三位数的情况。这些情况需要单独处理,以避免程序出错。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!