《Python语言程序设计》刘卫国主编循环结构4详解(选择)

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

习题4

一、选择题

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

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.循环体语句执行一次

 while 表达式:  会先计算表达式的值,表达式的值为True时,可以重复执行循环体中的语句块。k的初始值为10,然后经过代码块的运算,10,9,8,7,6,5,4,3,2,1时都为True,一共可执行10次。

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

while not E:
    pass
A.E==0              B.E!=1           C.E!=0      D.E==1

举例:当E为0时,not E和E==0的值都为True

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

 当while循环语句中表达式中的只为False的时候结束循环,此处表达式为and语句,当左右两边有一个不满足时值即为False。

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

  range(10,0)是空序列,产生这种现象的原因就是python总是把双参数的range函数当作为range(start,stop)。即一个从10开头,到0结尾的序列。这样的序列是没有任何数字的空序列,因此在转换成列表的过程中,就产生了空列表。

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

for var in :
print(var)
A.range(0,10)          B."Hello"           C.(1,2,3)    D.5

 python中的for循环是一个通用的序列迭代器,可以遍历任何有序的序列对象元素。但是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)

 A的表达式是<=,可以执行11次,其他三个选项都是执行10次。

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

range 计数迭代的序列中不包含stop,所以随后一行是2*4=8

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.最多允许输出10个非负整数

 continue语句并不会推出循环,而是立即结束本次循环,重新开始下一轮循环;当x>=0是执行print语句;

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

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

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

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

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

 break结束循环,continue重新开始下一轮循环。

猜你喜欢

转载自blog.csdn.net/weixin_63003502/article/details/127381031