本人是python小白,目前专业是土木类。前几天测量学实习填表的时候发现,角度之间的计算繁琐,容易出错,没有找到角度专用的计算器;除此之外,角度在计算三角函数的时候必须使用十进制的角度,想着就用刚学习的python基础知识写了套小工具。
结构很简单,就没有加注释,若有错误与需要改进的地方,欢迎评论。
import time
print("六十进制角度计算器")
print("作者 邵yz 苏州科技大学")
def plus():
data1 = input("请输入第一个角度,请用空格分开度秒分:")
data2 = input("请输入第二个角度,请用空格分开度秒分:")
if len(data1) < 5 or len(data2) < 5:
time.sleep(1)
print("数据有误请重试")
bar = False
else:
bar = True
while bar:
d1, fe1, mia1 = data1.split(" ")
d2, fe2, mia2 = data2.split(" ")
du1, fen1, miao1 = int(d1), int(fe1), int(mia1)
du2, fen2, miao2 = int(d2), int(fe2), int(mia2)
if miao2 >= 60 or miao1 >= 60 or fen2 >= 60 or fen1 >=60 :
bar = False
print("数据有误请重试")
else :
bar = True
while bar:
c = miao2 + miao1
if c >= 60:
c1 = c - 60
miao_jinwei = 1
else:
miao_jinwei = 0
c1 = c
b = fen2 + fen1 + miao_jinwei
if b >= 60:
b1 = b - 60
fen_jinwei = 1
else:
fen_jinwei = 0
b1 = b
a = du2 + du1 + fen_jinwei
print("计算结果:", a, "度", b1, "分", c1, "秒")
bar = False
def minus():
data1 = input("请输入第一个角度(被减),请用空格分开度秒分:")
data2 = input("请输入第二个角度,请用空格分开度秒分:")
if len(data1) < 5 or len(data2) < 5:
time.sleep(1)
print("数据有误请重试")
bar = False
else:
bar = True
while bar:
d1, fe1, mia1 = data1.split(" ")
d2, fe2, mia2 = data2.split(" ")
du1, fen1, miao1 = int(d1), int(fe1), int(mia1)
du2, fen2, miao2 = int(d2), int(fe2), int(mia2)
if miao2 >= 60 or miao1 >= 60 or fen2 >= 60 or fen1 >= 60:
print("数据有误请重试")
bar = False
else:
bar = True
while bar:
if miao1 >= miao2:
c = miao1 - miao2
miao_jiewei = 0
else:
c = 60 + miao1 - miao2
miao_jiewei = 1
if fen1 >= fen2 + miao_jiewei:
b = fen1 - fen2 - miao_jiewei
fen_jiewei = 0
else:
b = 60 + miao1 - miao2 - miao_jiewei
fen_jiewei = 1
a = du1 - du2 -fen_jiewei
print("计算结果=", a, "度", b, "分", c, " 秒")
bar = False
def transform():
data1 = input("请输入角度,请用空格分开度秒分:")
if len(data1) >= 5:
d1, fe1, mia1 = data1.split(" ")
du1, fen1, miao1 = int(d1), int(fe1), int(mia1)
miao = 1/3600
fen = 1/60
result = du1 + fen1 * fen + miao1 * miao
print(result)
else:
print("数据有误请重试")
mood = ""
cone = True
while cone :
mood = input("加法扣1,减法扣2,六十进制转十进制扣3,退出请扣4:")
if mood == "1":
plus()
elif mood == "2":
minus()
elif mood == "3":
transform()
elif mood == "4":
print("谢谢使用!再会!")
time.sleep(1)
cone = False
else:
print("数据有误请重试")
更多推荐
有关角度分秒,和角度六十进制转换十进制的计算python小工具
发布评论