python判断点在矩形内_Python测试点是否在矩形中
我是python的新手,仍然学习绳索??,但是我希望有更多经验的人可以帮助我.
我正在尝试编写以下Python脚本:
>创造四个点
>创建四个矩形
>检查每个点是否在任何矩形中,然后将结果写到输出文件中.
问题涉及两个数据结构Point和Rectangle类.我已经开始创建Point类和Rectangle类.矩形类应包含通过随机模块的random方法创建的相关数据集.从我的尝试中可以看出,我到处都是,但是我已经使用#comments来尝试去做.
我的具体问题是:
1)如何使该脚本正常工作?
2)我缺少哪些变量或函数来生成随机矩形,并查看这些矩形中是否有特定点?
## 1. Declare the Point class
class Point:
def __init__(self,x = 0.0, y = 0.0):
self.x = x
self.y = y
pass
## 2. Declare the Rectangle class
class Rectangle:
def __int__(self): ## A rectangle can be determined aby (minX, maxX) (minY, maxY)
self.minX = self.minY = 0.0
self.maxX = self.maxY = 1.0
def contains(self, point): ## add code to check if a point is within a rectangle
"""Return true if a point is inside the rectangle."""
# Determine if a point is inside a given polygon or not
# Polygon is a list of (x,y) pairs. This function
# returns True or False.
def point_in_poly(x,y,poly):
n = len(poly)
inside = False
p1x,p1y = poly[0]
for i in range(n+1):
p2x,p2y = poly[i % n]
if y > min(p1y,p2y):
if y <= max(p1y,p2y):
if x <= max(p1x,p2x):
if p1y != p2y:
xints = (y-p1y)*(p2x-p1x)/(p2y-p1y)+p1x
if p1x == p2x or x <= xints:
inside = not inside
p1x,p1y = p2x,p2y
return inside
## 3. Generate four points
##define a Point list to keep four points
points = []
##add codes to generate four points and append to the points list
polygon = [(0,10),(10,10),(10,0),(0,0)]
point_x = 5
point_y = 5
## 4. Generate four rectangles
##define a Rectangle list
rects = []
for i in range(4):
rectangle = Rectangle()
## Generate x
x1 = random.random()
x2 = random.random()
## make sure minX != maxX
while(x1 == x2):
x1 = random.random()
if x1
rectangle.minX=x1
rectangle.maxX=x2
elif x1>x2:
rectangle.minX=x2
rectangle.maxX=x1
rects.append(rectangle)
## Develop codes to generate y values below
## make sure minY != maxY
while(y1 == y2):
y1 = random.random()
if y1
rectangle.minY=y1
rectangle.maxY=y2
elif y1>y2:
recetangle.minY=y2
racetangle.maxY=y1
## add to the list
rects.append(rectangle)
## 5. Add code to check which point is in which rectangle
resultList = [] ## And use a list to keep the results
for i in range(4):
for j in range(4):
if points[i] in rectangle[j]:
print i
# write the results to file
f=open('Code5_4_1_Results.txt','w')
for result in resultList:
f.write(result+'
')
f.close()
python判断点在矩形内_Python测试点是否在矩形中相关推荐
- python判断点在四边形内
只针对凸四边形: 如果是三角形,五边形呢?这个代码是否有效,还没测 import globclass Point():def __init__(self, x,y):self.x=xself.y=yd ...
- python判断变量是否为数字_Python 判断字符串是否为数字
Python 判断字符串是否为数字 以下实例通过创建自定义函数 is_number() 方法来判断字符串是否为数字: # -*- coding: UTF-8 -*- # Filename : test ...
- python判断字符串是纯数字_python判断字符串是否纯数字的方法
本文实例讲述了python判断字符串是否纯数字的方法.分享给大家供大家参考.具体如下: 判断的代码如下,通过异常判断不能区分前面带正负号的区别,正则表达式可以根据自己需要比较灵活的写,通过isdigi ...
- python 判断字符串是否为数字_Python核心知识系列:数字与字符串类型
学习任何一种编程语言时首先要对它的数据类型有所了解,从本篇开始会对 Python 中的常见数据类型的基本概念和操作进行介绍. Python中有6种标准的数据类型:数字(Number).字符串(Str ...
- python 判断是否有某个属性_python如何判断对象的某个属性
在python判断某个对象是否具有某属性可以使用以下方法 方法一:通过异常捕捉来实现逻辑class FooClass: pass k = FooClass() try: #do some thing ...
- python判断字符串包含某个字符_python判断字符串是否包含另一个字符串
Python判断一个字符串是否包含子串的方法有很多,下面介绍几种方法. 1.使用成员操作符 in>>> s='nihao,shijie' >>> t='nihao' ...
- python判断质数合数奇数偶数_Python 判断合数质数
Python 判断合数质数 首先明确合数和质数的概念 合数: 自然数中除了能被 1 和本身整除之外, 还能被其他的数整除的数(4,6,9,10...)defheshu(m): list_a=[] fo ...
- python判断输入的是空白_python判断是空的实例分享
在实际的工作当中,我们难免要与空值打交道,相信不少初学者都会写出下面的代码: if a is None: do something.else: do the other thing. 这样写看起来不错 ...
- python判断语句的复杂度_Python内置方法的时间复杂度(转)
本文翻译自Python Wiki 本文基于GPL v2协议,转载请保留此协议. 本页面涵盖了Python中若干方法的时间复杂度(或者叫"大欧","Big O") ...
最新文章
- anaconda 运行路径
- Teams Developer Portal介绍
- Eclipse报错 due to restriction on required library C:/Java/jdk1.6.0_10/jre/lib/rt.jar 解决方案
- BZOJ.1029.[JSOI2007]建筑抢修(贪心)
- 王秋杨的“前世”和她的“在路上”
- kafka笔记——入门介绍
- 约瑟夫环(C语言实现)
- 搜狗双拼输入法--快速入门
- Android Native报错定位(addr2line工具的使用)
- 计算机管理里面删打印机就卡住了,打印机任务无法删除怎么办-解决打印机任务无法删除的方法 - 河东软件园...
- 【Unity2D好项目分享】提高游戏人物打击感
- 记升级springboot1.X 到springboot2.3.5踩的坑
- php yar 安装失败_CentOS搭建Yar框架以及遇到的坑!
- HTML 字体图标的引入
- 爬虫07 爬取阿里旅行特价机票
- 计算机word知识试题及答案,全国计算机等级考试Word试题及答案(2)
- 女生学计算机视力,[健康科普]女孩每天面对电脑,近视手术后视力恢复至1.0
- 机器人彩铅画_高达机器人铅笔画图片
- android studio manifest merger failed,android studio 引用第三方工程Manifest merger failed
- Java多线程 - Runnable接口和Callable接口的区别