目录

  • 单元1  初识Python
    • ● 任务 1.1  计算机程序设计语言概述
    • ● 任务 1.2 Python语言
    • ● 任务1.3 Python开发环境搭建
    • ● 任务 1.4 Python的简单使用
    • ● 知识拓展
    • ● 思考与练习
  • 单元2   Python基础知识
    • ● 任务2.1 Python程序基本结构
    • ● 任务2.2  标准输入输出
    • ● 任务2.3  Python对象
    • ● 任务2.4 Python变量
    • ● 任务2.5  数据类型
    • ● 任务2.6 字符串
    • ● 任务2.7 运算符
    • ● 知识拓展
    • ● 思考与练习
  • 单元3   程序流程控制
    • ● 任务3.1  顺序结构
    • ● 任务3.2 选择结构
    • ● 任务3.3  循环结构
    • ● 知识拓展
    • ● 思考与练习
  • 单元4  Python序列
    • ● 任务4.1  序列
    • ● 任务4.2 列表
    • ● 任务4.3  用于序列操作的常用内置函数
    • ● 任务4.4   元组
    • ● 任务4.5  字典
    • ● 任务4.6  集合
    • ● 知识拓展
    • ● 思考与练习
  • 单元5  函数
    • ● 任务5.1 函数的定义与调用
    • ● 任务5.2 函数的参数
    • ● 任务5.3   参数类型
    • ● 任务5.4  变量作用域
    • ● 任务5.5   嵌套调用与递归调用
    • ● 任务5.6  lambda表达式
    • ● 任务5.7  模块
    • ● 知识拓展
    • ● 思考与练习
  • 单元6  异常处理
    • ● 任务6.1 异常处理的基本概念
    • ● 任务6.2 Python的异常处理语句
    • ● 任务6.3  自定义异常
    • ● 知识扩展
    • ● 思考与练习
  • 单元7  文件操作
    • ● 任务7.1  文件的分类
    • ● 任务7.2  文件对象
    • ● 任务7.3  文本文件
    • ● 任务7.4  二进制文件
    • ● 知识拓展
    • ● 思考与练习
  • 单元8  面向对象程序设计
    • ● 任务8.1 面向对象技术的基本概念
    • ● 任务8.2 类与对象
    • ● 任务8.3 类的继承
    • ● 任务8.4 方法重写
    • ● 知识扩展
    • ● 思考与练习
  • 单元9  网络编程基础
    • ● 任务9.1  Socket概述
    • ● 任务9.2   Socket对象内建方法
    • ● 任务9.3  Socket编程实例
    • ● 任务9.4    PythonInternet模块
    • ● 知识扩展
    • ● 思考与练习
  • 单元10    Python标准库及第三方库
    • ● 任务10.1 Python标准库
    • ● 任务10.2 Python第三方库的下载及安装
    • ● 任务10.3  Python第三方库举例
    • ● 知识扩展
    • ● 思考与练习
  • 任务11 用户图形界面(GUI)
    • ● 任务11.1 图形用户界面概述
    • ● 任务11.2 窗体容器和组件
    • ● 任务11.3 界面布局管理
    • ● 任务11.4 文本框组件
    • ● 任务11.5 其他组件
    • ● 任务11.6菜单与对话框
    • ● 任务11.7 鼠标键盘事件
    • ● 知识扩展
    • ● 思考与练习
  • 任务12   Python操作数据库
    • ● 数据库基础
    • ● 结构化查询语言SQL
    • ● Python操作数据库核心API
    • ● Python操作数据库案例
    • ● sqlite3 实训练习案例
    • ● pymysql 数据库实训案例
    • ● 小结  思考与练习
  • 习题解析(线上作业等参考解答)
    • ● 第一单元 初识Python  作业
    • ● 第二单元  Python基础(作业)
    • ● 第三单元  程序流程控制 作业(1)
    • ● 第三单元  程序流程控制  作业(2)
    • ● 第四单元  Python序列   作业
    • ● 第五单元   函数   作业
    • ● 单元六  异常处理  作业
    • ● 单元七、八  文件操作,GUI,面向对象
    • ● 单元九   网络编程基础
    • ● 线上习题解析
    • ● 编程训练
  • 应用题解(综合编程技术)
    • ● 《食品识别小专家》
    • ● 格式输出
    • ● 习题选解
    • ● 每日一帖
    • ● 模拟基本信息
    • ● 模拟基本数据
    • ● 数制转换
    • ● 定制每日运动计划
    • ● 《简易购物系统》
  • 课程章节测验
    • ● 第1次章节测验
  • 复习
    • ● Python基础知识总结
  • 第三方库TOOLS(备用)
    • ● 库模块(可下载)
    • ● 供考查备用的库模块(可下载)
第三单元  程序流程控制  作业(2)

Python程序设计》第4次作业 

 

一、单选题(共10题,50分)

1、在 if...elif...else 的多个语句块中只会执行一个语句块。(       )

例:

   g = int(input(" 成绩 =?")

   if   g>=60  and  g<80:

        print("成绩合格!“)

        print(" 好好学习,天天向上!“)

   leif  g>=80  and  g<90:

          print("成绩良好!“)

           print(" 百尺杆头,更进一步!“)

    leif  g>=90 :

          print("成绩优秀!“)

           print(" 棒!您是好样的!继续努力!“)

     else:

           print("成绩不合格!“)

           print(" 好好努力吧!相信你一定会进步的!“)

   

A、 正确。

B、 错误。

C、根据条件决定。

D、 Pyhton 中没有 elif 语句。

正确答案: 

2、for i in [1, 0]:

    print(i+1)

 

以上代码输出结果为?

A、2

  1

B、 [2,1]

C、 [1,0]

D、 0

正确答案: 

3、i = sum = 0

while i <= 4:

    sum += i

    i = i+1

print(sum)

以上代码输出的结果是?

A、 0

B、 10

C、 6

D、 以上结果都不对

正确答案: 

4、#有下面的程序段

k=int(input ("k=  "))

x=-1

if k<=10 and k >0:

    if k >5:

         if k>8:

             x=0

         else:

             x=1

    else:

         if k>2:

              x=3

         else:

             x=4

 

print("x=",x)

 

#其中k取那组值时   x =3        (       )

A、  3,4,5

B、 3,4

C、 5,6,7

D、 4,5

正确答案:

5、正则表达式是一种用来匹配字符串的强有力的武器。

设计思想是用一种描述性的语言来给字符串定义一个规则,

凡是符合规则的字符串,就认为它“匹配”,否则就不匹配。

#示例:

import re   # 导入Python的re模块

pattern = r'(13[4-9]\d{8})|(15[01289]\d{8})$'

#中国移动手机号码规则  以13开头,第3位是【4-9】之一,后面是8位数字。

# 或者以15开头,第3位是【01289】之一,后面是8位数字。

print("为你检验某一手机号码是否是有效的中国移动手机号码。“)

mobile =input( '请输入手机号码:')

match = re.match(pattern,mobile)  # 进行模式匹配

if match == None:   # 判断是否为None,为真表示匹配失败

    print(mobile,'不是有效的中国移动手机号码。')

else:

    print(mobile,'是有效的中国移动手机号码。')

 

上面示例语句中,哪些语句是体现正则表达式应用的关键?

A、

import re   

pattern = r'(13[4-9]\d{8})|(15[01289]\d{8})$'

match = re.match(pattern,mobile) 

B、

mobile =input( '请输入手机号码:')

print(mobile,'不是有效的中国移动手机号码。')

C、

print("为你检验某一手机号码是否是有效的中国移动手机号码。“)

mobile =input( '请输入手机号码:')

 

D、

if match == None:   # 判断是否为None,为真表示匹配失败

    print(mobile,'不是有效的中国移动手机号码。')

else:

    print(mobile,'是有效的中国移动手机号码。')

 

正确答案: 

6、正则表达式模块re的____方法用来在整个字符串中进行指定模式的匹配。

A、 sub()

B、

findall()

 

C、 search()

D、

match()

 

正确答案: 

解析:

import re

re.match #从开始位置开始匹配,如果开头没有则无

re.search #搜索整个字符串

re.findall #搜索整个字符串,返回一个list

[object Object]

 

 

7、正则表达式模块re的____方法用来在字符串开始处进行指定模式的匹配。

A、 match() 

B、 search() 

C、 sub() 

D、 split()

正确答案: 

解析:

 

8、以下哪个 if 语句是正确的?

A、if a >= 22:

B、 if (a >= 22)

C、 IF (a => 22):

D、if a >= 22

 

正确答案: 

9、以下代码中哪个是正确的 for 循环语句是?

A、for(a = 0; a < 3; a++)

B、for a in range(3)

C、for a loop 3:

D、for a in range(1,3):

正确答案: 

10、以下代码中哪个是正确的 while 循环语句是?

A、 while loop a < 10 

B、while a < 10:

C、while(a < 10)

D、while loop a < 10:

正确答案: 


二、多选题(共10题,50分)

1、关于正则表达式,下面描述正确的是:  (        )

A、 正则表达式元字符“^”一般用来表示从字符串开始处进行匹配,用在一对方括号中的时候则表示反向匹配,不匹配方括号中的字符。

B、 正则表达式元字符“\s”用来匹配任意空白字符。 

C、 正则表达式’^\d{18}|\d{15}$’只能检查给定字符串是否为18位或15位数字字符,并不能保证一定是合法的身份证号。 

D、 正则表达式 元字符“\d”用来匹配任意数字字符。 

正确答案: 

解析:

 

2、阅读下面python程序:  

for i in range(1, 10):   # 外循环,控制行数 循环9次

   for j in range(1, i+1):

      print(i, "*", j, "=", i*j, end=" ")  # 在print语句中end=" "表示不换行

   print("")   # 换行

 

下面叙述正确的是(             )。

A、 这是一个利用到双循环技术的程序, 

B、 程序的功能是:输出一个9行9列排列的乘法九九表。  

C、 程序的功能是:输出一个9行10列排列的乘法表。 

D、循环语句的基本格式是:

 for 循环变量  in  range(初值, 终值, 步长值):

     循环体语句  

程序中,i、j是循环变量,i 控制外循环次数,j 控制内循环次数。 步长值默认为1。

正确答案: 

3、定义函数的一般格式:

def  函数名(参数): 

         函数体

         return  返回值   # 若函数无返回,return可以省略

 

   函数调用时,通过函数名调用。

阅读下面程序:

def sun(n):

    s=0

   for i in range(1, n+1):

         s =s + i

   return s 

 

k = 100

ss=sun(k)

print(ss)


下面叙述正确的是(        )。

 

A、 程序中,定义了一个名称为sun的函数,函数的功能是计算1+2+3+...+n之和,并返回计算和的值。

B、代码段:

k = 100

ss=sun(k)

print(ss)

的作用是调用 函数sun 计算1+2+3+...+100的值,并输出。

C、增加语句:

print(sun(50))

可以输出1+2+3+...+50之和。

D、 此程序,可以省略  return s 

正确答案: 

4、#函数的应用    

import math

x=eval(input("  输入一个数  x=  "))

a=abs(x)            #求绝对值

t=math.sqrt(a)      # 计算平方根

print(t)            #输出结果

关于上面程序,下面叙述正确的是(        )。

A、 程序的功能是:输入一个数,计算其绝对值的平方根,并输出其结果。

B、input( )函数从键盘上输入数据,从键盘上输入的任何数据都当作字符处理。

当需要输入数值时,用eval()函数将字符转换成数值。

abs(x)是计算x的绝对值的函数。

C、import  math   是导入模块语句

t=math.sqrt(a)    是引用math 模块的计算平方根函数sqrt(),计算a有平方根。

D、 当输入的是非数值串时(如:123abc),程序运行会出错。 

正确答案: 

5、下面叙述正确的是(           )。

A、很多程序都提供了“空语句”支持,Python 也不例外,Python 的 pass 语句就是空语句。

有时候程序需要占一个位、放一条语句,但又不希望这条语句做任何事情,此时就可通过 pass 语句来实现。

B、break和continue语句用在while和for循环中,

break跳出整个循环,而continue跳出本次循环 。

C、下面程序代码,可以输出九九乘法表。

 for i in range(1,10):

       for j in range(1,10):  

            print('{0}*{1}={2:2}'.format(i,j ,i * j),end="  ")  #格式化输出

       print()

D、编程:求2+4+6+8+……+n<100成立的最大的n

   i = 2; sum = 0

while True:         

       sum+= i

      if sum>=100:

             break

      else:

          i+= 2

print("the max number is ",i)

 这程序是正确的。

正确答案: 

6、下面叙述正确的是(     )。

A、 尽管可以使用import语句一次导入任意多个标准库或扩展库,但是仍建议每次只导入一个标准库或扩展库。 

B、  为了让代码更加紧凑,编写Python程序时应尽量避免加入空格和空行。 

C、 Python列表、元组、字符串都属于有序序列。 

D、 对于带有else子句的循环语句,如果是因为循环条件表达式不成立而自然结束循环,则执行else子句中的代码。 

正确答案: 

解析:

 

7、编写程序,实现分段函数计算:

下面程序设计,正确的是(           )

A、x= eval(input("x=  "))

if  x<0 :

    y=8*x-7

elif x>10:

    y=-3*x*x+2*x-5

else :

    y=2*x**3+6

 

print("y=",y)

B、x= eval(input("x=  "))

if  x<0 :

    y=8*x-7

elif  x>=0  and  x<=10:

    y=2*x**3+6

else :

     y=-3*x*x+2*x-5

 

print("y=",y)

C、x= eval(input("x=  "))

if  x<0 :

    y=8x-7

elif  x>=0  and  x<=10:

    y=2x**3+6

else :

     y=-3x*x+2x-5

 

print("y=",y)

D、def     y(x):

    if  x<0 :

           y=8*x-7

    elif  x>=0  and  x<=10:

           y=2*x**3+6

    else :

           y=-3*x*x+2*x-5

    return  y

 

x= eval(input("x=  "))

print( "y= ",y(x) )

 

正确答案: 

8、设  a=80;b=90 

交换两个变量的值,下面程序段,正确的是(       )

A、 a,b=b,a

B、 a=b;b=a

C、t=a

a=b

b=t

D、 a;b=b;a

正确答案: 

9、下面循环结构程序,出现“死循环”的是(           )。

A、i=1

while  i<=10:

     if  i%2==0:

          print("###  你对此事要负责!  ###")

          continue

     print(i,end='\n')

     i+=1

 

B、i=1

while  i<=10:

     if  i%5==0:

          print("###  你对此事要负责!  ###")

          break

     print(i,end='\n')

     i+=1

C、for  i    in   range(10) :

     if  i%2==0:

          print("###  你对此事要负责!  ###")

          continue

     print(i,end='\n')

 

D、i=10

while  i<=10:

    print(i,end='  ')

    i-=1

else:

    i+=1

 

正确答案: 

10、编写计算  s=1+2+3+...+100的程序,

下面能完成计算任务的程序有(        )。

A、

s=0

for i  in   range(101):

    s+=i

print(s)

 

B、

s=0;i=0

while  i<=100:

    s+=i

    i+=1

print(s)

 

C、s=s1=s2=0;i=0

while  i<100:

    i+=1

    if i%2==0:

        s1=s1+i

    else:

        s2=s2+i

    

s=s1+s2

print(s)

 

D、s=0;i=0

while  i<100:

    s+=i

    i+=1

print(s)

 

正确答案: