返回顶部
首页 > 资讯 > 后端开发 > Python >《python核心教程2》第十章 练习
  • 732
分享到

《python核心教程2》第十章 练习

第十章核心教程 2023-01-30 22:01:10 732人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

10-6.改进的open()。为内建的open()函数创建一个封装。使得成功打开文件后,返回文件句柄:若打开失败则返回给调用者None, 而不是生成一个异常。这样你打开文件就不需要额外的异常处理语句。 1 def openfile(f

10-6.改进的open()。为内建的open()函数创建一个封装。使得成功打开文件后,返回文件句柄:若打开失败则返回给调用者None,

而不是生成一个异常。这样你打开文件就不需要额外的异常处理语句。

 1 def openfile(file):
 2     try:
 3         f = open(file)
 4     except ioError:
 5         return None
 6     return file
 7 
 8 if __name__ == '__main__':
 9     filename = input('Filename:')
10     print(openfile(filename))

 10–8.改进的raw_input()。本章的开头,我们给出了一个”安全”的float()函数,它建立在内建函数float()上,可以检测并处理float()可能会引发的两种不同异常。

同样,raw_input()函数也可能会生成两种异常,EOFError(文件末尾EOF,在Unix下是由于按下了Ctrl+D在Dos下是因为 Ctrl+Z)或是KeyboardInterrupt(取消输入,

一般是由于按下了Ctrl+C)。请创建一个封装函数safe_input(),在发生异常时返回None。

 1 def safe_input(object):
 2 
 3     try:
 4         retval = float(object)
 5     except (EOFError, KeyboardInterrupt):
 6         retval = None
 7     return retval
 8 
 9 if __name__ == '__main__':
10     print(safe_input(input("Input: ")))

 10-9.改进的math.sqrt()。math模块包含大量用于处理数值相关运算的函数和常量。不幸的是,它不能识别复数,所以我们创建了cmath模块来支持复数相关运算。

请创建一个safe_sqrt()函数,它封装math.sqrt()并能处理负值,返回一个对应的复数。

 1 import math, cmath
 2 
 3 def safe_sqrt(x):
 4     try:
 5         num = math.sqrt(x)
 6     except ValueError:
 7         num = cmath.sqrt(x)
 8     return num
 9 
10 if __name__ == '__main__':
11     x = float(input('Number: '))
12     print(safe_sqrt(x))

 

--结束END--

本文标题: 《python核心教程2》第十章 练习

本文链接: https://lsjlt.com/news/179197.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 《python核心教程2》第十章 练习
    10-6.改进的open()。为内建的open()函数创建一个封装。使得成功打开文件后,返回文件句柄:若打开失败则返回给调用者None, 而不是生成一个异常。这样你打开文件就不需要额外的异常处理语句。 1 def openfile(f...
    99+
    2023-01-30
    第十章 核心 教程
  • python核心编程2 第十章 练习
    10-6.改进的open()。为内建的open()函数创建一个封装。使得成功打开文件后,返回文件句柄:若打开失败则返回给调用者None, 而不是生成一个异常。这样你打开文件就不需要额外的异常处理语句。 1 def openfile(f...
    99+
    2023-01-30
    第十章 核心 python
  • python核心编程2 第十二章 练习
    12–5. 使用 __import__().(a) 使用 __import__ 把一个模块导入到你的名称空间。 你最后使用了什么样的语法 (b) 和上边相同, 使用 __import__() 从指定模块导入特定的名字。 1 module...
    99+
    2023-01-30
    十二章 核心 python
  • 《python核心教程2》第九章 练习
    9–1. 文件过滤. 显示一个文件的所有行, 忽略以井号( # )开头的行. 这个字符被用做Python , Perl, Tcl, 等大多脚本文件的注释符号.附加题: 处理不是第一个字符开头的注释. 1 filename = input...
    99+
    2023-01-30
    第九章 核心 教程
  • python核心编程2 第九章 练习
    9–1. 文件过滤. 显示一个文件的所有行, 忽略以井号( # )开头的行. 这个字符被用做Python , Perl, Tcl, 等大多脚本文件的注释符号.附加题: 处理不是第一个字符开头的注释. 1 filename = input...
    99+
    2023-01-30
    第九章 核心 python
  • python核心编程2 第六章 练习
    6-2. 字符串标识符.修改例 6-1 的 idcheck.py 脚本,使之可以检测长度为一的标识符,并且可以识别 Python 关键字,对后一个要求,你可以使用 keyword 模块(特别是 keyword.kelist)来辅助 1...
    99+
    2023-01-30
    第六章 核心 python
  • python核心编程2 第五章 练习
    5-2 运算符(a) 写一个函数,计算并返回两个数的乘积(b) 写一段代码调用这个函数,并显示它的结果 1 def product(x, y): 2 3 return x * y 4 5 if __name__ == '__...
    99+
    2023-01-30
    第五章 核心 python
  • 《Python核心编程》第五章
    5-1.整型。讲讲Python普通整型和长整型的区别?   答案:    在大多数32位机器上,标准整型的取值范围是-2^31~2^31-1,如果在64位机器上使用64位编译器编译的Python,则整型是64位的。而长整型能表示的数值仅仅与...
    99+
    2023-01-31
    第五章 核心 Python
  • WEB核心【会话技术】第十五章
    目录 💂 个人主页: 爱吃豆的土豆🤟 版权: 本文由【爱吃豆的土豆】原创、在CSDN首发、需要转载请联系博主💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 ...
    99+
    2023-09-20
    java 服务器 前端
  • 第十七章 Python网络编程
    Socket简介在网络上的两个程序通过一个双向的通信连接实现数据的交换,这个链接的一端称为一个Socket(套接字),用于描述IP地址和端口。建立网络通信连接至少要一对端口号(Socket),Socket本质是编程接口(API),对TCP/...
    99+
    2023-01-31
    十七章 网络编程 Python
  • Python核心编程第三版
    Python核心编程第三版高清版 PDF链接: https://pan.baidu.com/s/16jAUKZc3wHUoFZbPnhpVMw 密码: 2y8d ...
    99+
    2023-01-31
    第三版 核心 Python
  • 第十三章 Python数据库编程
    本章节讲解Python操作数据库,完成简单的增删改查工作,以MySQL数据库为例。Python的MySQL数据库操作模块叫MySQLdb,需要额外的安装下。通过pip工具安装:pip install MyS...
    99+
    2024-04-02
  • [PYTHON] 核心编程笔记之十-Py
    10.1 什么是异常10.1.1 错误错误时语法或是逻辑上的,语法错误指示软件的结构上有错误,导致不能被解释器解释或编译器无法编译当Python检测到一个错误时,解释器就会支出当前流已经无法继续执行下去,这时就出现了异常10.1.2 异常1...
    99+
    2023-01-31
    核心 笔记 PYTHON
  • 第十五章 Python多进程与多线程
    15.1 multiprocessingmultiprocessing是多进程模块,多进程提供了任务并发性,能充分利用多核处理器。避免了GIL(全局解释锁)对资源的影响。有以下常用类:类描述Process(group=None, targe...
    99+
    2023-01-31
    十五章 多线程 进程
  • Python核心编程习题解答
    最近在学Python,准备把《Python核心编程(第二版)》上课后有意思的习题做一做,也算是对语言的内容更熟悉一些。我做的代码在github上(链接),可以上去根据题号查看或搜索。难免有理解或做得不对的地方,请指正或一起讨论。慢慢来,踏实...
    99+
    2023-01-31
    习题 核心 Python
  • Python高级核心技术97讲学习 教程 资源
    Python高级核心技术97讲学习 教程 资源整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看的时候可以关注下面几点:为了追求精简简...
    99+
    2023-06-02
  • 《Python基础教程》第六章--读书
    本章会介绍如何将语句组织成函数。还会详细介绍参数(parameter)和作用域(scope)的概念,以及递归的概念及其在程序中的用途。 懒惰即美德 斐波那契数列:任何一个数都是前两个数之和的数字序列。 创建函数 内建的callable函...
    99+
    2023-01-31
    第六章 基础教程 Python
  • python核心编程(第三版)网络编程错
    //服务器端代码from socket import * from time import ctime host='localhost' port=3330 bufsize = 1024 addr = (host,port) tcp...
    99+
    2023-01-30
    第三版 网络编程 核心
  • Python核心编程(第3版)-客户端F
    cat getLatestFTP.py #!/usr/bin/python import ftplib import os import socket HOST = 'ftp.mozilla.org' DIRN = 'pub/mozilla...
    99+
    2023-01-31
    客户端 核心 Python
  • 学习《简明Python教程》第一天
    第一天开始学习python,我自己会坚持的…… 做学习笔记为自己更好的复习,所做的一切若能带给像我一样刚刚入门朋友更大的方便, 我会很高兴……,如果有疏漏之处,请各位GGJJ提出指正,本人将不胜感激!   1、启动python带提示符的解释...
    99+
    2023-01-31
    简明 教程 Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作