单选题
1.
for var in ___:
print(var)
哪个选项不符合上述程序空白处的语法要求?
A
“Hello”
B
range(0,10)
C
{1;2;3;4;5}
D
(1,2,3)
正确答案: C
for … in … 中 in 的后面需要是一个迭代类型(组合类型),B不是Python的有效数据类型。
2
for i in range(0,2):
print(i)
哪个选项是以上程序的输出结果?
A
1
B
0 1 2
C
1 2
D
0 1
正确答案: D
range(0, 2)输出两个值:0和1。
3
k=10000
while k>1:
print(k)
k=k/2
哪个选项给出了上述程序的输出次数?
A
14
B
1000
C
15
D
13
正确答案: A
请跟随程序计算或在IDLE中运行程序获得结果。
4
哪个选项是程序的三种基本结构?
A
顺序结构,循环结构,分支结构
B
顺序结构,跳转结构,循环结构
C
过程结构,对象结构,函数结构
D
过程结构,循环结构,分支结构
正确答案: A
无对象结构、跳转结构、过程结构等说法。
5
哪个选项关于循环结构的描述是错误的?
A
死循环无法退出,没有任何作用
B
条件循环和遍历循环结构都是基本的循环结构
C
循环是程序根据条件判断结果向后反复执行的一种运行方式
D
循环是一种程序的基本控制结构
正确答案: A
死循环能够用于测试性能,形式上的死循环可以用break来退出,例如:
x = 10
while True:
x = x - 1
if x == 1:
break
死循环是有其作用的。
6
关于Python语句P=-P,哪个选项的描述是正确的?
A
P的绝对值
B
P等于它的负数
C
P=0
D
给P赋值为它的负数
正确答案: D
Python中的=是赋值符号,==是判断相等性的等于符号。
7
哪个选项是用来判断当前Python语句在分支结构中?
A
引号
B
冒号
C
缩进
D
大括号
正确答案: C
缩进表达层次关系。
8
哪个选项是下面代码的执行结果?
for s in "PYTHON":
if s=="T":
continue
print(s,end="")
A
TT
B
PYTHON
C
PYHON
D
PY
正确答案: C
continue结束当次循环,但不跳出当前循环。
9
哪个选项是random库中用于生成随机小数的函数?
A
getrandbits()
B
randrange()
C
randint()
D
random()
正确答案: D
B/C/D都产生随机整数,random()产生0到1之间的随机小数。
10
关于try-except,哪个选项的描述是错误的?
A
NameError是一种异常类型
B
使用了异常处理,程序将不会再出错
C
用于对程序的异常进行捕捉和处理
D
表达了一种分支结构的特点
正确答案: B
使用了异常处理,程序可能运行不会出错,但逻辑上可能出错。程序错误是一个大概念,不仅指代码运行错误,更代表功能逻辑错误。
程序题
四位玫瑰数
描述
四位玫瑰数是4位数的自幂数。自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。
例如:当n为3时,有1^3 + 5^3 + 3^3 = 153,153即是n为3时的一个自幂数,3位数的自幂数被称为水仙花数。
请输出所有4位数的四位玫瑰数,按照从小到大顺序,每个数字一行。
for i in range(1000,10000):
a0=int(str(i)[0])
a1=int(str(i)[1])
a2=int(str(i)[2])
a3=int(str(i)[3])
if i==a0**4+a1**4+a2**4+a3**4:
print(i)
003600311565510742005
100以内素数之和
描述
求100以内所有素数之和并输出。
素数指从大于1,且仅能被1和自己整除的整数。
提示:可以逐一判断100以内每个数是否为素数,然后求和。
输入格式
该题目没有输入
sum=2
for i in range(3,101):
for j in range(2,i):
if i%j==0:
break
else:
sum+=i
print(sum)
此题注意else的位置,当内部for循环正常结束之后(并非因为break)才会执行else操作,即素数的定义,i对任何j都不整除,则它是素数。
因为j从2开始循环,因此i要从3开始遍历,sum要预先加上2。