目录

  • 单元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(备用)
    • ● 库模块(可下载)
    • ● 供考查备用的库模块(可下载)
第三单元  程序流程控制 作业(1)

Python程序设计》第3次作业 

 

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

1、x = True

y = False

z = False

if not x or y:

    print(1)

elif not x or not y and z:

    print(2)

elif not x or y or not y and x:

    print(3)

else:

    print(4)

 

A、 1

B、 2

C、 3

D、 4

正确答案: C

解析:优先级顺序为 NOT、AND、OR。答案C正确

2、if None:

    print("Hello")

输出的结果是(       )?

A、False

B、 Hello

C、 没有任何输出

D、 语法错误

正确答案: C

解析:在python中 None, False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()都相当于False ,即:

代码如下:

not None == not False == not '' == not 0 == not [] == not {} == not ()

 

代码中经常会有变量是否为None的判断,有三种主要的写法:
第一种是`if x is None`;
第二种是 `if not x:`;
第三种是`if not x is None`(这句这样理解更清晰`if not (x is None)`) 。

 

3、for i in [1, 0]:

    print(i+1)

 

以上代码输出结果为?

A、2

1

B、 [2,1]

C、 [1,0]

D、 0

正确答案: A

4、Python 中,for 和 while 可以有 else 语句?

A、 只有 for 才有 else 语句。

B、 只有 while 才有 else 语句。

C、for 和 while 都可以有 else 语句。

 一般格式是:

for <循环变量> in <遍历结构> :
    <语句块1>
else:
    <语句块2>
 

while <条件> :
    <语句块1>
else:
    <语句块2>

D、 for 和 while 都没有 else 语句。

正确答案: C

5、程序代码:

i = sum = 0

while i <= 4:

    sum += i

    i = i+1

print(sum)

 

以上代码输出的结果是?

A、 0

B、 10

C、 6

D、 以上结果都不对

正确答案: B

6、while 6 == 6:

    print('6')

以上Python代码输出的结果是(          )。

A、 输出 6

B、 输出6次 6

C、无限次输出 6,直到程序关闭。

D、 语法错误

正确答案: C

7、迭代输出序列时(如:列表)使用 for 比 while 更好?

A、 错误,while 比 for 更好。

B、 正确 

C、 错误,while 不能用于迭代系列。

D、 错误,for 和 while 都不能用于迭代系列。

正确答案: B

解析:

正确。迭代输出序列时(如:列表)使用 for 比 while 更好。

while 可以用于迭代系列,只是不能像for那样,输出其中的内容,while判断是对于迭代系列,只判断是不是None类型

 

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

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

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

#示例:

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,'是有效的中国移动手机号码。')

 

正确答案: A

9、name = input("输入姓名:") 

print("{}同学,学好Python,前途无量!".format(name))

print("{}大侠,学好Python,大展拳脚!".format(name[0]))

print("{}哥哥,学好Python,人见人爱!".format(name[1:]))

 

问:运行上面程序,输入姓名:李俊

输出的结果是(       )

 

A、

李俊同学,学好Python,前途无量!

李俊大侠,学好Python,大展拳脚!

李俊哥哥,学好Python,人见人爱!

B、

{李俊}同学,学好Python,前途无量!

{李}大侠,学好Python,大展拳脚!

{俊}哥哥,学好Python,人见人爱!

C、

李俊同学,学好Python,前途无量!

李大侠,学好Python,大展拳脚!

俊哥哥,学好Python,人见人爱!

D、

李俊{}同学,学好Python,前途无量!

{}大侠,学好Python,大展拳脚!

{}哥哥,学好Python,人见人爱!

正确答案: C

 

10、语句   x = 3==3, 5     

执行结束后,变量x的值是  (                       )。

 

#提示例:

x = 3==2, 8

print(x)

执行结束后,输出变量x的值:

(False, 8)

A、 (False, 5) 

B、 (3==3, 5) 

C、 (True, 5) 

D、 (3, 5) 

正确答案: C

 

二、多选题(共3题,16.5分)

1、关于is 和 ==的区别,下面陈述正确的是(       ) 

A、 is 和==都是用来 比较python对象的 

B、 python对象包含三个基本元素, id, type(数据类型), value(值) 

C、 is 比较对象id, 判断对象是否为同一实例对象,是否指向同一内存地址 

D、 == 判断是,两个对象的内容是否相等 

正确答案: ABCD

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

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

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

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

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

正确答案: ABCD

解析:全对

 

3、阅读下面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。

正确答案: ABD

 

三、填空题(共3题,17.5分)

1、已知 x = 3,那么执行语句 x += 6 之后,x的值为(            )。

正确答案:
1空: 9

2、已知 x = 3,并且id(x)的返回值为 496103280,那么执行语句 x += 6 之后,表达式 id(x) == 496103280 的值为(                   )。(提示: True 或者 False) 

x=3

print(x>=1)    输出的结果是:(            )

正确答案:
1空: False

2空: True

3、已知 x = 5,那么执行语句 x *= 6 之后,x的值为  (            )。

正确答案:
1空: 30

 

四、判断题(共2题,11分)

1、用一行代码实现变量数值交换
 a, b = b, a

正确答案: 正确

2、某人编写了下面程序:

k=1

while   k<=10:

       print("**********")

       print("&&&&&")

有人说:这是个“死循环”程序。

这个人说的正确吗?

正确答案: 正确