目录
习题 1.7
1.代码分析题
(1) 执行下列各段代码后,j指向的数据对象值分别是多少?
A.
j=0
for i in range(j,10):
j += i
B.
for j in range(10):
j += j
答案:A. j = 45 B. j = 18
(2) 执行下面的代码后,m 和 n 分别指向什么?
n = 123456789
m=0
while n != 0:
m = (10 *m) + (n % 10)
n /= 10
答案:m = inf ,n=0.0
(3) 阅读下面的代码,指出它们分别执行后,j指向的对象是什么。
A.
j=0
for i in range(10) :
j += i
B.
for j in range (10):
j += j
C.
j=0
for i in range(j, 10):
j += i
答案: A. j=45 B.j=18 C. j = 45
(4) 阅读下面的代码,指出它执行后,m 和n各指向的值是多少?
n = 123456789
m = 0
while n != 0:
m = (10 * m) + (n % 10)
n /= 10
答案:第2题与第四题重复,若将 n /= 10 改为 n //= 10,则有:m=987654321 n=0
(5) 给出下面代码的输出结果
v1 = [i%2 for i in range(10)]
v2 = [i%2 for i in range(10)]
print (v1, v2)
答案:[0, 1, 0, 1, 0, 1, 0, 1, 0, 1] [0, 1, 0, 1, 0, 1, 0, 1, 0, 1]
(6) 给出下面代码的输出结果
for i in range(5,0,1):
print(i)
答案:跳出循环
若改为:
for i in range(5,0,-1):
print(i)