Python编程练习与解答 练习67:计算多边形的边长

编写一个计算多边形周长的程序。首先从用户处读取多边形周长上的第一个点的x和y坐标。然后继续读取值对,直到用户为x坐标输入空行为止。每次读取一个额外坐标,都应该计算到前点的距离,并把它加到周长上。为x坐标输入空行时,程序应该将最后一点到第一点的距离加到周长上。然后显示周长。示例输入和输出值如下所示。用户输入的值以粗体显示。

#引入数学计算
import math
#定义前提条件
#定义周长
perimeter=0
#定义第一个坐标点
first_x=float(input("请输入第一点x坐标"))
first_y=float(input("请输入第一点y坐标"))
pre_x=first_x
pre_y=first_y
#后续坐标定义
x=input("请输入下一个x坐标")
while x!="":
    #定义x、y坐标位置
    x_i=float(x)
    y_i=float(input("请输入下一个y坐标"))
    #定义上一点坐标
    #第一次距离计算(第一点与第二点距离)使用勾股定理
    dist=math.sqrt((x_i-first_x)**2+(y_i-first_y)**2)
    perimeter+=dist
    #进行后续循环
    pre_y=y_i
    pre_x=x_i
    x=input("请输入下一点x的坐标")
#最后一点到第一点的距离
dist=math.sqrt((first_x-x_i)**2+(first_y-y_i)**2)
perimeter+=dist
print("周长为%.2f"%perimeter)


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值