2024-01-17 00:17:18 | 我爱编程网
import math
class Dot:
def __init__(self,x,y,z):
self.x=float(x)
self.y=float(y)
self.z=float(z)
t1=input('请输入点t1的坐标:')
t2=input('请输入点t2的坐标:')
t1=eval('[%s]'%t1)
t2=eval('[%s]'%t2)
T1=Dot(t1[0],t1[1],t1[2])
T2=Dot(t2[0],t2[1],t2[2])
print('点t1:',T1.x,T1.y,T1.z)
print('点t2:',T2.x,T2.y,T2.z)
s=math.sqrt((T1.x-T2.x)*(T1.x-T2.x)-(T1.y-T2.y)*(T1.y-T2.y)+(T1.z-T2.z)*(T1.z-T2.z))
print("两点间的距离为:%s"% s)
第一问:
# python3.6
import turtle
import math
def draw_line_in_points():
print("输入两个点坐标,绘制并他们和距离。每个点坐标的X和Y用空格分离输入:")
s1 = input("第一个点:")
s2 = input("第二个点:")
x1, y1 = map(int, s1.split())
x2, y2 = map(int, s2.split())
turtle.home()
turtle.pensize(1)
turtle.speed(1)
turtle.hideturtle()
turtle.goto(x1, y1)
turtle.write("({},{})".format(x1, y1))
dis = math.sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2)
turtle.left(turtle.towards(x2, y2))
turtle.pendown()
turtle.forward(dis)
turtle.penup()
turtle.write("({},{})".format(x2, y2))
turtle.back(dis//2)
turtle.write("d={}".format(round(dis, 2)))
turtle.done()
第二问:
def get_plalindrome_numbers(print_list=True):
# 参数print_list用于是否打印出回文数
xs = 10
xd = 20000
def plalindrome(x):
x = str(x)
length = len(x)
st = True
for j in range(length//2+1):
if x[j] != x[-j-1]:
st = False
return st
counter = 0
p_list = []
for i in range(xs, xd, 1):
if plalindrome(i):
counter += 1
if print_list:
p_list.append(i)
print("{}和{}之间的回文数有{}个。".format(xs, xd, counter))我爱编程网
if print_list:
print("它们分别是:{}".format(p_list))
在数学中,两个点之间的距离就是使用一条直线连接,然后去计算这条直线的长度,这样可以知道两个点之间的距离了,在Python中也是如此,具体的操作如下:
1、导入模块在Python中,需要处理与数学相关的操作,就要使用math模块,里面包含了一些运算的函数,使用之前需要进行导入,方法如下:importmath3、创建类,得到一个点classPoint:def__init__(self,a=0,b=0):self.a=aself.b=bdefgetA(self):returnself.adefgetB(self):returnself.b在这段代码中,首先创建了一个类为Point,并且对它进行了初始化,初始化的为a,b的坐标,再分别使用getA、getB的方法去获得一个实例a坐标以及b坐标。3、计算两个点的距离在上面创建了一个类,表示的是a和b轴的坐标,接下来要初始化两个点,并且对这两个点之间的距离进行计算,两个点为p1,p2,然后通过刚才导入的Python中自带的math模块,去对这两个数进行开平方根,最后得到的就是两个点之间的距离了,代码如下classLine:def__init__(self,p1,p2):self.a=p1.getA()-p2.getA()self.b=p1.getB()-p2.getB()self.len=math.sqrt(self.a*self.a+self.b*self.b)#得到两个点之间的距离defgetlen(self):returnself.lenp1=Point(1,2)p2=Point(4,6)lineLen=Line(p1,p2)print(lineLen.getlen())。
2024-01-01 09:58:48
2024-01-02 22:06:16
2024-01-01 04:24:22
2023-12-23 12:08:32
2023-09-13 13:02:53
2024-01-08 06:28:32