内容正文:
专题达标训练(五) Python循环语句
一、单项选择题
1.如下Python程序段
s=0
for i in range(0,11,2):
s+=i
print(s)
执行后,变量s的值是( )
A.10 B.9 C.30 D.55
2.以下Python程序段中循环体执行的次数是( )
s=i=0
while s<10:
i+=1
s+=i*i
A.1 B.3 C.2 D.4
3.在Python循环中,可以使用break语句终止循环,程序将跳出循环,执行循环后的语句,下面代码运行结果是( )
cnt = 0
for i in range (1,6):
if i==4:
break
cnt =cnt +1
print(cnt)
A.3 B.4 C.2 D.5
4.为使下面左右框内的Python程序段实现相同的功能,则右框内划线处填写的代码应该是( )
s=t=0
for t in range(0,7,2):
s+=t
s=t=0
while t<=6:
s+=t
________
A.t+=2 B.s+=2 C.t+=s D.t=s+2
5.某两段Python程序分别如图所示:
n=int(input(”n=”))
s=0
for i in range(1,n+1,2):
s+=i
print(s)
n=int(input(”n=”))
s,i=0,1
while i<=n:
s+=i
i+=2
print(s)
当n的值为10时,关于该两段程序,下列说法不正确的是( )
A.两段程序中i的初值相同
B.两段程序都采用了循环结构
C.两段程序的运算结果不相同
D.左边程序实现了“1+3+5+7+9”和的运算
6.以下程序段运行结果是( )
s = 0
for i in range (11) :
if i % 2==0:
s =s+i
else:
s=s-i
print(s)
A.-55 B.-5 C.5 D.55
7.阅读下列Python程序,选出运行结果。
for i in range(1,11): #i控制*的行数
for j in range(1,i+1): #j控制每行*的个数
print(”*”,end=””) #输出*,end=””表示输出结束后不换行
print( ) #输出换行
运行结果是( )
8.有如下Python程序段:
a=[2,1,3,4,5]
c=0
for i in range(2,5):
if a[i-2]+a[i-1]==a[i]:
c+=1
print(c)
该程序段运行后,显示的c的值是( )
A.1 B.2 C.3 D.4
9.读以下代码段,对其运行结果说法正确的是( )
s=0
for i in range(1,7,2):
s=s+i
print(s)
s=0
for i in range(1,7,2):
s=s+i
print(s)
s=0
for i in [1,3,5]:
s=s+i
print(s)
s=0
for i in [1,3,5]:
s=s+i
print(s)
①
②
③
④
A.①②运行结果均输出9
B.①③运行结果相同,②④运行结果相同
C.②③运行结果均为换行输出1 4 9
D.①④运行结果相同,②③运行结果相同
10.以下对Python循环语句的描述错误的是( )
A.循环语句的结束条件设置不合理会造成无限循环
B.所有的for循环都可以用while循环改写
C.for循环一般用于循环次数已知的情况
D.for循环和while循环不能相互嵌套
二、填空题
1.阅读下列Python程序,写出运行结果
a=[5,2,8,7,3] #创建列表,各元素用逗号隔开,放在方括号内
a[0]=8 #修改列表第一个元素的值为8,注意列表的索引号
del a[1] #删除列表第二个元素
a.append(9) #在列表尾部添加一个数据元素9
print(a) #打印列表
运行结果:________。
2.已知包含25项的数列:1,2/3,3/5,……24/47,25/49。
问题1:写出该数列的通项公式f(n)=①______________________
问题2:以下是计算S=1+2/3+3/5+……+24/47+25/49的Python程序,
请补全代码:
s=0
for i in range(1,26):
s=__________②__________
print(”s=”+str(s))
3.阅读下列程序,写出运行结果。
n=int(input(”n=”))
s=0
w