(2017/2/21:坚持学python,坚持写博客,这是第三篇;万事开头难,坚持会更难,希望我能坚持住!)
昨天薛老师留的作业题目是:“输入x1,y1;x2,y2;x3,y3 三个坐标构成一个三角形,随机输入一个坐标判断是否再三角形范围内。”
拿到这个题目,
首先想到的要如何从键盘输入三个参数,目前为止我对pyton键盘输入函数的了解仅限于raw_input() 函数,但是这个函数貌似一次交互只能读入一个参数;能否一次交互实现多个参数的输入呢?百度一下后发现raw_input()函数为python2中所有,input()函数未python3所有,而raw_input()函数还有一个split()方法,可以用诸如逗号、空格符之类的字符对对多个参数进行分隔。于是这个问题解决。
然后就是要对输入的三个参数进行判断,看看是否满足构成三角形的条件(任意两边之和大于第三边,任意两边之差小于第三边)
最后,当三个坐标参数满足三角形构成条件的时候,要交互式提示用户输入第四个点坐标,并判定第四个点是否在三角形内。这是个数学问题,但是当时并未上网查询此问题的算法,因为自己有个思路,就是第四个点的横坐标不能比三个顶点的横坐标最大值还大,也不能比三个顶点横坐标最小值还小;同样,第四个点的纵坐标也不能大于三个顶点纵坐标的最大值,并且不能小于三个顶点纵坐标的最小值。这两个坐标一旦有一个超出范围,必在三角形之外,所以想当然地以为,其补集的点就一定在三角形之内。于是按照思路写出了下面的代码,并用点(0,0),ÿ