Python 第3章课后习题参考答案

第3章课后习题参考答案
一、单项选择题

  1. 下列描述中正确的是______。(B)
    A. continue 语句可以用来终止当前所在的循环
    B. break 语句可以用来终止当前所在的循环
    C. if 语句不可以被嵌套在循环语句内部
    D. 循环语句不可以被嵌套在 if 语句内部

  2. 下列关于分支结构描述中,正确的是______。(B)
    A. 分支结构必须要有else子句
    B. if-else构成双分支结构
    C. 双分支结构有一种紧凑形式,使用保留字if和elif实现
    D. 分支结构的嵌套只能在else子句中

  3. 下列选项中,不属于程序流程图基本元素的是______。(B)
    A. 起始框 B. 提示框 C. 判断框 D. 输入输出框

  4. 下列关于算法的描述中,不正确的是______。(B)
    A. 算法是解决问题的方法和步骤 B. 算法必须要有输入
    C. 算法经过有限步骤后能够停止 D. 算法必须要有输出

  5. 下列不是 IPO 模式一部分的是______。(A)
    A. InOut B. Process C. Input D. Output

  6. 下列程序输出结果是______。(B)
    a,b=5,0
    if a>5:
    b=b+2
    b=b+2
    print(b)
    A. 0 B. 2 C. 7 D. 9

  7. 下列程序输出结果是______。(B)
    x=3
    if x>=3:
    x=x+1
    elif x>=4:
    x=x+2
    elif x>5:
    x=x+3
    print(x)
    A. 3 B. 4 C. 6 D. 9

  8. 下列程序输出结果是_____。©
    x=7
    y=12 if x>5 else 20
    print(y)
    A. 7 B. 5 C. 12 D. 20

  9. 下列程序输出结果是______。(B)
    i=1
    s=0
    while i<=10:
    if i%3!=0:
    s=s+i
    i=i+1
    print(s)
    A. 18 B. 37 C. 55 D. 0

  10. 下列程序输出结果是______。(B)
    i=0
    while i<10:
    i=i+2
    if i>6:
    break
    print(i,end=“,”)
    else:
    print(12)
    print(123)
    A. 0,2,4,6,8,123 B. 2,4,6,123 C. 0,2,4,6,8 12123 D. 2,4,6,12

二、填空题
11. 算法的表示常用的方法包括:自然语言、 (传统流程图)、 (伪代码)、 (N-S 流程图(盒图)。
12. Python选择结构包括单分支选择结构、 (双分支选择结构)、 (多分支选择结构)和嵌套选择结构。
13. Python循环结构包括 (for 循环)和 (while 循环)两种循环结构。
14. Python 循环结构根据需要可以使用三种特殊语句: (continue语句)语句、 (break 语句)语句和else语句。
15. 在循环语句中, (break 语句)语句的作用是提前退出当前循环结构。
16. 在循环语句中, (continue语句)语句的作用是提前进入下一个循环。
7.表达式20 if 10 > 5 else -20的值为 (20)。
17. 表达式 5 if 10 > 20 else ( 0 if 5 > 8 else 1) 的值为 (1)。
18. for n in range(5): print( n, end = ‘,’) 的运行结果 (0,1,2,3,4,)。
19. for i in range(1 , 20 , 2): print( i, end = ‘;’) 的运行结果 (1;3;5;7;9;11;13;15;17;19;)。

三、程序设计题
20. 编程计算下列分段函数值:.

import math
x=int(input("x:"))
if x<0:
    y=2*math.pow(x,4)-3*math.pow(x,3)
else:
    if x==0:
        y=math.e**2
    else:
        y=3*math.sqrt(2*x)
print("y={}".format(y))
  1. 编写程序实现以下功能:求满足1+2+3+4+┄+n>2020 的最小 n 并输出(要求用循环实现)。
n = 0 
z = 0 
while(z<=2020):  
        n+=1  
        z+=n 
print("n={0}".format(n))
  1. 给出一个小于1000的正整数,编程求该数是几位数,并按逆序打印出各位上的数字。例如:原数为456,则输出为654。

x=int(input('请输入一个数:\n'))
while x<1000:
a=x//100
b=x%100//10
c=x%10
break
if a!= 0:
print('3位数:', c,b,a)
elif b!= 0:
print('2位数:',c,b)
elif c!= 0:
print('1位数:', c)
  1. 输入一个字符串,编程统计并输出其中的大写英文字母和数字的个数。
print("Input a string: ")
str1 = input() 
no_of_ capital_letters, no_of_digits = 0,0 
for c in str1:
    if (c>='A' and c<='Z'):
        no_of_capital_letters += 1
    if c>='0' and c<='9':
        no_of_digits += 1 
print("Input string is: ", str1)
print("Total number of capital_letters: ", no_of_capital_letters)
print("Total number of digits: ", no_of_digits)
  1. 编程统计100 ~ 1000直接所有素数的个数,并打印出它们的和。
num=0
sum=0
for n in range(100,1000):
   for x in range(2, n):
      if (n%x==0):
         break
      else:
         num+=1
sum+=n
print(“num={0},sum={0}”.format(num,sum))
  1. 统计并输出 500到 2020 之间所有能被 7 整除且个位数字为 2 的数的个数(要求用循环实现)。
n = 0 
for i in range(500,2021): 
       if (i%7==0 and i%10==2): 
           n+=1 
print("n={0}".format(n))

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2023年6月26日
下一篇 2023年6月26日

相关推荐