华南理工大学 Python第4章课后小测-2
阅读原文时间:2023年07月08日阅读:1

1、(单选)下面程序的输出结果是:

for c in "ComputerScience":
   if c=="S":
      continue
   print(c,end="")

(本题分数:3)
A) Computer
B) Science
C) ComputerScience
D) Computercience
您的答案:D  正确率:100%

2、(单选)以下程序的输出结果是。

for i in range(4):
  if i == 2:
    continue
  print(i,end=" ")

(本题分数:3)
A) 0 1 2 3
B) 0 1 3
C) 2
D) 程序出错,无法运行
您的答案:B  正确率:100%

3、(单选)下面程序的输出结果是:

for c in "xyz":
    for i in range(3):
        print(c,end="")
        if c=="z":
            break

(本题分数:3)
A) xxxyyyzzz
B) xxxyzzz
C) xyyyzzz
D) xxxyyyz
您的答案:D  正确率:100%

4、(单选)在异常语句中:

try:
    <语句块1>
except  <异常类型1>:
    <语句块2>
else:
    <语句块3>
finally:
    <语句块4>

当try中的语句块1正常执行结束且没有发生异常时,以下哪个说法是正确的:(本题分数:3)
A) 语句块2会执行
B) 语句块3不会执行
C) 语句块4不会执行
D) 语句块4会执行
您的答案:D  正确率:100%

5、(单选)以下语句能生成[1,100]之间(包括1和100)的随机整数的是()。(本题分数:3)
A) int(100*random.random()+1)
B) random.randint(1,100)
C) random.randrange(1,101)
D) 以上都可以
您的答案:D  正确率:100%

6、(单选)以下代码的输出结果是

for i in range(1,5):
    print(i,end=" ")
    if i>2:
        break
else:
    print(0)   

(本题分数:3)
A) 0 1 2 3
B) 1 2 3
C) 1 2 3 0
D) 0 1 2 3 0
您的答案:B  正确率:100%

7、(单选)以下程序的执行结果是。

data = 50
try:
    data = data/0
except ZeroDivisionError:
    print('除数不能为0')
else:
    print('除法正确 ')
finally:
    print('程序结束') 

(本题分数:3)
A) 除数不能为0 程序结束
B) 除数不能为0
C) 除法正确
程序结束
D) 程序结束
您的答案:A  正确率:100%

8、(单选)下面程序的输出结果是:

b=[[0,1,2],[3,4,5],[6,7,8]]
p=0
for t in b:
    for j in range(2):
        p+=t[j]
print(p)

(本题分数:3)
A) 36
B) 21
C) 0
D) 以上答案都不对
您的答案:B  正确率:100%

9、(单选)当用户输入python时,下面程序的输出结果是:

try:
   p=0
   p=input("请输入一个整数:")
   def pow5(p):
       return p**5
except:
    print("程序执行错误") 

(本题分数:3)
A) 输出:0
B) 输出:程序执行错误
C) 输出:python
D) 程序没有任何输出
您的答案:D  正确率:100%

10、(单选)以下程序的输出结果是()。

for val in "string":
    if val == "i":
        break
    print(val,end=" ")

(本题分数:3)
A) s t r i n g
B) s t r
C) s t r i
D) s t r n g
您的答案:B  正确率:100%

11、(单选)以下程序的输出结果是()。

myList = ['a', 0, 2]
for entry in myList:
    try:
        1/int(entry)
    except:
        print("除",entry,"出错了")
    else:
        print("除",entry,"正确执行")

(本题分数:3)
A) 除 a 正确执行
除 0 出错了
除 2 正确执行
B) 除 a 出错了 除 0 出错了 除 2 正确执行
C) 除 a 出错了
除 0 正确执行
除 2 正确执行
D) 除 a 出错了
除 0 出错了
除 2 出错了
您的答案:B  正确率:100%

12、(单选)以下程序的输出次数是()。

k=10
while k>1:
    print(k)
    k=k/2

(本题分数:3)
A) 2
B) 3
C) 4
D) 5
您的答案:C  正确率:100%

13、(单选)以下程序计算1到n的累加和,空白处的代码应该是。

sum = 0
i = 1
while _____:
    sum = sum + i
    i = i+1   

(本题分数:3)
A) i < n
B) i <= n
C) sum < n
D) sum <= n
您的答案:B  正确率:100%

14、(单选)以下程序,要获得输出结果为“s t r”,空白处的代码应该是()。

for val in "string":
    if val == "i":
        _____
    print(val,end=" ")

(本题分数:3)
A) continue
B) break
C) val+=1
D) except
您的答案:B  正确率:100%

15、(单选)设s是一个字符串类型的变量,以下语句能对s进行正确遍历的是()。(本题分数:3)
A) for i in s
B) for  j in range(len(s))
C) for j in  range(0,len(s))
D) for j in  range(1,len(s))
您的答案:A  正确率:100%

16、(程序填空)以下程序输入一个正整数n,计算1到n之间(包括1和n)的所有奇数的和并输出。请在(1),(2)填入适当的语句。

n=input("请输入整数n:")
__(1)__
for i in __(2)__:
    s=s+i
print(s)

(本题分数:6)

【参考答案】
(1) s=0
(2) range(1,eval(n)+1,2)
评分标准:第一空30分,第二空70分。第二空没有eval其它正确给50分。第2空用int也是正确的

17、(程序填空)以下程序输入一个正整数m,计算其阶乘并输出结果。请在(1),(2)填入适当的语句。

s=input(" 请输入要计算的阶乘:")
m=int(s)
r=1
for i in __(1)__(1,m):
    __(2)__
print(r)

(本题分数:6)

【参考答案】
(1)range
(2)r*=i+1 或者 r=r*(i+1)
评分标准:每空50分,写错字母不给分。

18、(程序填空)输出m个1-10范围内的随机浮点数,计算并显示其平均值。

import random
__(1)__.seed(100)
m=eval(input())
s=0
for j in range(m):
    f=random.uniform(__(2)__)
    s+=f
    print(f)
print('平均值是:',__(3)__)

(本题分数:6)

【参考答案】
(1)random
(2)1,10
(3)s/m
评分标准: 第一个空30分,第二个空40分,第三个空30分。有错误不给分

19、(程序填空)以下程序获得用户输入的整数n,计算n的阶乘n!=n*(n-1)*(n-2)*….*1,并输出。请在(1),(2)填上合适的语句。

n=eval(input("请输入整数:"))
__(1)__    # 为阶乘结果变量赋初值
while n>1:
    prod=prod*n
    __(2)__
print(prod)

(本题分数:6)

【参考答案】
(1)prod=1
(2)n=n-1
评分标准:
1、每空50分

20、(程序填空)以下程序根据用户输入的分值,输出评定的等级。如果分值>=90,输出“优秀”;如果80<=分值<90,输出“良好”;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬如果70<=分值<80,输出“中等”;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬如果60<=分值<70,输出“及格”;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬

perc = eval(input(“请输入分值:”))
if perc >= 90:
    print ('优秀')
elif  __(1)__:
    print ('良好')
elif perc >= 70:
    print ('中等')
elif  __(2)__:
    print ('及格')
else:
    __(3)__

(本题分数:6)

【参考答案】
(1)perc >= 80
(2)perc >=60
(3)print ('不及格')
评分标准:
1、错一个空扣30分
2、>=写错,扣10分

21、(程序填空)以下程序计算从整数1到100的加减和,即1-2+3-4…-100。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬其中,所有数字为整数,从1开始递增直到100,奇数为正,偶数为负。‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬

s = 0     #s存储加减和的结果
count = 1
while count <=100:
    if  __(1)__:
        s -= count
    else:
        __(2)__
    __(3)__
print(s)

(本题分数:6)

【参考答案】
(1)count%2 == 0
(2)s += count
(3)count += 1
评分标准:
1、错一空扣30分。

22、(写运行结果)写出下列程序的运行结果。

for s in "scut":
    if s=="c":
        continue
    for i in range(5):
        if i==2 or s=='u':
            break
        print(s,end='')

(本题分数:6)

【参考答案】
sstt

23、(写运行结果)写出以下程序的运行结果。

n=5
for i in range(1,n):
    for j in range(1,i+1):
        print(str(i*j),end=' ')
    print('')

(本题分数:6)

【参考答案】
1
2 4
3 6 9
4 8 12 16
评分标准:
1)4行结果,每行25分。
2)如果某行有多余的数字该行扣10分。
3)若中间用逗号分隔,数字全对则扣5分

24、(写运行结果)写出下列程序的输出结果。

s=0
for i in range(20):
    if i%2==0:
        s=s+i
    else:
        s=s-i
print(s)

(本题分数:6)

【参考答案】
-10

25、(写运行结果)以下程序运行时,分别输入5,3。写程序程序的运行结果。

try:
    x = input("请输入第一个整数:")
    y = input("请输入第二个整数:")
    print(x+y)
    print(x-y)
except:
    print("出错了")
finally:
    print("程序结束")

(本题分数:6)

【参考答案】
53
出错了
程序结束
评分标准:第一行40分,第二行40分,第三行20分。

【解析】当输入5时,因为input的函数值是字符串类型,所以x是字符串类型,同样,y也是字符串类型,x+y变成字符串合并。字符串不能做减法,所以x-y会出错。