《Python语言程序设计》刘卫国主编,中国工信出版集团,电子工业出版社

习题4

一、选择题

1.关于while循环和for循环的区别,下列叙述中正确的是(      )。C

A.while语句的循环体至少无条件执行一次,for语句的循环体有可能一次都不执行

B.while语句只能用于循环次数未知的循环,for语句只能用于循环次数已知的循环

C.在很多情况下,while语句和for语句可以等价使用

D.while语句只能用于可迭代变量,for语句可以用任意表达式表示条件

2.设有程序段:

k=10
while k:
    k=k-1
    print(k)

则下面描述中正确的是(      )。A

A.while循环执行10次               B.循环是无限循环

C.循环体语句一次也不执行           D.循环体语句执行一次

3.以下while语句中的表达式“not E”等价于(      )。A

while not E:
    pass

A.E==0              B.E!=1           C.E!=0      D.E==1

4.有以下程序段:

n=0
p=0
while p!=100 and n<3:
    p=int(input())
    n+=1

while循环结束的条件是(      )。D

A.P的值不等于100并且n的值小于3

B.P的值等于100并且n的值大于等于3

C.P的值不等于100或者n的值小于3

D.P的值等于100或者n的值大于等于3

5.以下for语句中,不能完成1~10的累加功能的是(      )。A

A.for i in range(10,0):sum+=i

B.for i in range(1,11):sum+=i

C.for i in range(10,-1):sum+=i

D.for i in (10,9,8,7,6,5,4,3,2,1):sum+=i

6.对下列语句不符合语法要求的表达式是(      )。D

for var in :
print(var)

A.range(0,10)          B."Hello"           C.(1,2,3)    D{1,2,3,4,5}

7.下面Python循环体执行的次数与其他不同的是(      )。A

A.i=0                          B.i=10

    while i<=10:                   while i>0:

        print(i)                       print(i)

        i+=1                           i-=1

C.for i in range(10):          D.for i in range(10,0,-1):

        print(i)                       print(i)

8.下列for循环执行后,输出结果的最后一行是(      )。C

for i in range(1,3):
    for j in range(2,5):
        print(i*j)

A.2          B.6            C.8       D.15

9.关于下列for循环,叙述正确的是(      )。D

for t in range(1,11):
    x=int(input())
    if x<0:continue
    print(x)

A.当x<0时整个循环结束           B.x>=0时什么也不输出

C.print()函数永远也不执行       D.最多允许输出100个非负整数

10.下列说法中正确的是(      )。D

A.break用在for语句中,而continue用在while语句中

B.break用在while语句中,而continue用在for语句中

C.continue能结束循环,而break只能结束本次循环

D.break能结束循环,而continue只能结束本次循环

二、填空题

1.当循环结构的循环体由多个语句构成时,必须用        的方式组成一个语句块。缩进对齐

2.执行下列程序后的输出结果是       ,其中while循环执行了       次。1,1

i=-1
while i<0:
    i*=i
print(i)

3.以下while循环的循环次数是(    )。无限次

i=0
while i<10:
    if i<1:continue
    if i==5:break
    i+=1

4.执行下列程序后,k的值是(      )。36

k=1
n=263
while n:
    k*=n%10
    n//=10

5.执行循环语句for i in range(1,5,2):print(i),循环体执行的次数是        2

6.循环语句for i in range(-3,21,4)的循环次数为        6

7.要使语句for i in rang(        ,-4,-2)循环执行15次,则循环变量i的初值应当为       

25或26

8.执行循环语句for i in range(1,5):pass后,变量i的值是        4

9.一个循环结构的循环体又包括一个循环结构,称为                结构。循环嵌套,多重循环

10.下列程序的输出结果是(      )。8

s=10
for i in range(1,6):
    while True:
        if i%2==1:
            break
        else:
            s-=1
            break
print(s)

三、问答题

1.什么叫循环结构?举例说明其应用。

在一定条件下重复执行某些操作的控制结构称为循环结构,它由循环体及循环条件两部分组成,被重复执行的语句称为循环体,决定是否继续重复的表达式称为循环条件。

循环结构有while语句和for语句

while语句:

(1)while语句的一般格式

while 表达式:    
        语句块

(2)使用else子句

在while循环语句中使用else子句,

else中语句的执行:

a.while语句结束后执行后续的else语句(不管是否执行循环体)

b.如果遇到brenk, else语句就不再执行

for语句

(1)一般格式:

for 目标变量 in 序列对象:
    语句块

(2)rang的应用

for i in range(5):
    print(i,end=' ')

程序输出结果如下: 0 1 2 3 4 

2.下列程序的输出结果是什么?如果将语句“print(s)”与语句“pass”缩进对齐,则输出结果是什么?通过比较两次输出结果,可以得到什么结论?

s=10
for i in range(1,6):
    pass
print(s)

3.break语句和continue语句的区别是什么?

break语句用在循环体内,迫使所在循环立即终止,即跳出所在循环体,继续执行循环结构后面的语句。

break:停止循环

在循环结构中执行continue语句时,立即结束本次循环,重新开始下一轮循环。

continue:跳过本次循环

4.对于累加求和问题一定要设置累加变量的初值,而且初值都为0,这种说法对吗?用具体程序说明自己的判断。

5.用while语句改写下列程序。

s=0
for i in range(2,101,2):
    s+=i
print(s)

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐