Python面向对象编程之区间的插入详解_第1页
Python面向对象编程之区间的插入详解_第2页
Python面向对象编程之区间的插入详解_第3页
Python面向对象编程之区间的插入详解_第4页
Python面向对象编程之区间的插入详解_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第Python面向对象编程之区间的插入详解目录一、面向对象编程的Python实例描述二、面向对象编程的Python实例的示例三、面向对象编程的Python实例的编写过程3.1本文的集成编译环境3.2编写Interval类3.3编写Solution类3.4编写textOutput函数3.5编写Main函数3.6编写调用Main的代码3.7面向对象编程实例的运行结果四、面向对象编程的Python实例的总结

一、面向对象编程的Python实例描述

Python实例-区间插入的描述

给出一个无重叠的,按照区间起始端点排序的列表。

在列表中插入一个新的区间,可以确保列表中的区间。

新的列表区间仍然有序且不重叠(如果有必要的话,可以合并区间)。

二、面向对象编程的Python实例的示例

Python实例:区间的插入示例如下所示

示例一

输入:(2,5)插入:[(1,2),(5,9)]输出:[(1,9)]

示例二

输入:(3,4)插入:[(1,2),(5,9)]输出:[(1,2),(3,4),(5,9)]

三、面向对象编程的Python实例的编写过程

3.1本文的集成编译环境

本文的编译环境使用的是集成开发环境是:PyCharm2025.1.1x64

pycharm具有的特点如下所示

1.编码协助

其提供了一个带编码补全,代码片段,支持代码折叠和分割窗口的智能、可配置的编辑器,可帮助用户更快更轻松的完成编码工作。

2.项目代码导航

该IDE可帮助用户即时从一个文件导航至另一个,从一个方法至其申明或者用法甚至可以穿过类的层次。

若用户学会使用其提供的快捷键的话甚至能更快。

3.代码分析

用户可使用其编码语法,错误高亮,智能检测以及一键式代码快速补全建议,使得编码更优化。

4.Python重构

有了该功能,用户便能在项目范围内轻松进行重命名,提取方法/超类,导入域/变量/常量,移动和前推/后退重构。

5.支持Django

有了它自带的HTML,CSS和JavaScript编辑器,用户可以更快速的通过Django框架进行Web开发。

此外,其还能支持CoffeeScript,Mako和Jinja2。

6.支持GoogleApp引擎

用户可选择使用Python2.5或者2.7运行环境,为GoogleApp引擎进行应用程序的开发,并执行例行程序部署工作。

7.集成版本控制

登入,录出,视图拆分与合并所有这些功能都能在其统一的VCS用户界面(可用于Mercurial,Subversion,Git,Perforce和其他的SCM)中得到。

8.图形页面调试器

用户可以用其自带的功能全面的调试器对Python或者Django应用程序以及测试单元进行调整,该调试器带断点,步进,多画面视图,窗口以及评估表达式。

9.集成的单元测试

用户可以在一个文件夹运行一个测试文件,单个测试类,一个方法或者所有测试项目。

可自定义可扩展

可绑定了Textmate,NetBeans,EclipseEmacs键盘主盘,以及Vi/Vim仿真插件。

3.2编写Interval类

classInterval(object):

def__init__(self,start,end):

self.start=start

self.end=end

defget(self):

String='('+str(self.start)+','+str(self.end)+')'

returnString

defequals(self,Intervalx):

ifself.start==Intervalx.startandself.end==Intervalx.end:

return1

else:

return0

3.3编写Solution类

classSolution:

definsert(self,intervals,newInterval):

results=[]

insterPos=0

forintervalinintervals:

ifinterval.endnewInterval.start:

results.append(interval)

insterPos+=1

elifinterval.startnewInterval.end:

results.append(interval)

else:

newInterval.start=min(interval.start,newInterval.start)

newInterval.end=max(interval.end,newInterval.end)

results.insert(insterPos,newInterval)

returnresults

3.4编写textOutput函数

deftextOutput():

print('-给出一个无重叠的,按照区间起始端点排序的列表。')

print('在列表中插入一个新的区间,可以确保列表中的区间。'

print('新的列表区间仍然有序且不重叠(如果有必要的话,可以合并区间)。')

3.5编写Main函数

defMain():

textOutput()

solution=Solution()

interval1=Interval(1,2)

interval2=Interval(5,9)

interval3=Interval(2,5)

results=solution.insert([interval1,interval2],interval3)

print('输入:[',interval1.get(),',',interval2.get(),']','',interval3.get())

print('输出:[',results[0].get(),']')

3.6编写调用Main的代码

if__name__=='__main__':

Main()

3.7面向对象编程实例的运行结果

Python实例:插入区间

给出一个无重叠的,按照区间起始端点排序的列表。

在列表中插入一个新的区间,可以确保列表中的区间。

新的列表区间仍然有序且不重叠(如果有必要的话,可以合并区间)。

Python实例-区间的插入运行结果

输入:[(1,2),(5,9)](1,9)

输出:[(1,9)]

Processfinishedwith

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论