1、
i = sum = 0
while i <= 4:
sum += i
i = i+1
print(sum)
以上代码输出的结果是?
A、0
B、10
C、4
D、以上结果都不对
正确答案为:B
解析:首先可以先拆分题中等式的缩写,如:i=sum=0,拆分即为:i=0;sum=0。sum+=i,即为sum=sum+i。 while为循环体,循环逻辑则是满足while后的条件才会执行循环体内的语句,看题干可知,只有当i>4时,循环跳出,得到sum结果,所以,当i还未大于4的时候,循环一直继续,由此我们可以计算出,当i=0时,满足i<=4,进行第一次循环,sum=sum+i(sum=0+0)→i=i+1(i=0+1)。然后进行第二次循环,sum=0+1→i=1+1
一直循环到i>4为止,所以计算下来,可以得到答案为10
2、
s=0
for i in range(1,101):
s+=i
else:
print(s)
以上代码输出的结果是?
A、5000
B、1
C、5050
D、5151
正确答案为C
解析:首先for语句也是一种循环结构,一般用于循环次数可以提前确定的情况,题中for的结构为,用i在range数组范围中(1-100,101不取到)进行遍历,也就是i会取到1-100中所有的整数,然后再进行s+=i→s=s+i,
得到s=0+1,s=1+2,s=3+3...,s=4950+100,全部遍历完成,计算结束后,则执行else中的语句,print(s)输出s的值,即可得到5050。
此题则是数学计算中高斯定律1+...+100的和
3、
while 4 == 4:
print('4')
以上代码输出的结果是?
A、输出一次 4。
B、输出四次 4。
C、无限次输出 4,直到程序关闭。
D、语法错误。
正确答案为C
解析:while循环是满足条件后,会执行循环体内的语句,直到条件不再满足为止,题中 == 为逻辑判断符,判断左右两边的数据是否相等,所以我们可以看到4是等于4的,逻辑成立,左右两边相等,并下发语句中,没有改变条件数值的语句,因此我们可以得知,这个循环是无限进行下去的,所以print(‘4’)则会一直进行,所以选C
4、
for char in 'PYTHON STRING':
if char == ' ':
break
print(char, end='')
if char == 'O':
continue
以上代码输出的结果是?
A、PYTHON
B、PYTHONSTRING
C、PYTHN
D、STRING
正确答案为A
解析:首先我们可以得知用char在字符串中进行遍历,题中的break代表,一旦break语句被执行,则将break语句所属层次的循环提前结束,我们可以看到,若想实现break执行,则要先判断char==‘ ’,则要使char遍历到N后边的空格为止,如果没有达到,则会继续进行到下一个判断,是否char==‘O’,判断到这一步时,如果条件达成,则会执行continue语句,continue语句的作用是提前结束本次循环,忽略continue之后的所有语句,提前进入下次循环,所以可以梳理清楚整个程序的逻辑,从第一个字符开始,P Y T H O,到达O这个字符了,char==‘O’ 成立,执行continue,结束本次循环,到达下次循环,继续遍历到N,N后是空格,则会达到char == ‘ ’ 成立,则会执行break,提前结束本层的循环,循环跳出,print的char则为“PYTHON”。
此时的输出格式为
P
Y
T
H
O
N
又因为print(char,end=’ ’)中end=‘’为取消换行,所以最终的结果为:PYTHON,答案为A
5、
a = 5
b = 3
c = a + b
d = c ** a
print(d)
请选择正确的输入结果:
A. 6158
B. 502
C. 32768
D. 4096
正确答案为C
解析:这是一道简单的数值运算,首先将a+b赋值给c,得到c为8,再将c**a的值赋值给d,”**”为幂运算,所以可以得到,d=8的5次方,由此可以计算得出答案为32768,答案为C