python进阶练习题:沃克【难度:2级】:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-snyXKtsW-1571439623681)(https://i.imgur/5YNemou.png?1)]

漫步者

步行者从O点开始,沿OA,AB和BC散步.当他在C(C将在上半平面),什么是’距离CO?什么是正度,分,秒的角度tOC`?

tOAalpha(这里为45度),角hABbeta(这里30度),角uBCgamma(这里60度).

任务

函数解决(A,B,C,α,β,γ)与参数

  • A,B,C:以距离为单位的正整数(静置OA,AB,BC)
  • α,β,γ:在正整数度(正角度是逆时针)

返回一个数组

  • 第一个元素:距离CO(四舍五入至最接近的整数)
  • 然后角度TOC与第三下列元素:
      - 所述数组矩阵的第二元件:在角度TOC度数(截断正整数)
      - 所述数组矩阵的第三个元素:在角TOC的分钟数(截断正整数)
      - 所述数组矩阵的第四元件:在角TOC秒数(截断正整数)

示例:


打印(解决(12,20,18,45,30,60)) - > [15,135,49,18]
 -  CO是14.661 ...四舍五入至15
 - 角TOC是135.821 ...
所以
 - 度= 135
 -  =分钟... 49.308
 - 秒= 18.518 ...

因此[15,135,49,18]

注意

如果你需要不断的pi您可以用PI = 3.14159265358979323846

编程目标:

def solve(a, b, c, alpha, beta, gamma):
    # your code


测试样例:

def dotest(a, b, c, A, B, C, expect):
    print("testing "+str(a)+","+str(b)+','+str(c)+","+str(A)+","+(B)+","+str(C))
    actual = solve(a, b, c, A, B, C)
    print('Actual ', actual)
    print('Expect ', expect)
    Test.assert_equals(actual, expect)
    print("#")
Test.describe("solve")
    dotest(12, 20, 18, 45, 30, 60, [15, 135, 49, 18])
    dotest(15,15,19,50,29,55, [12, 133, 18, 44])
    dotest(14,25,17,41,35,59, [20, 129, 41, 57])
tests()
print("")
print("")


最佳答案(多种解法):

点击查看答案

更多关联题目:

交流讨论:

景越Python基础训练营QQ群

欢迎各位同学加群讨论,一起学习,共同成长!

免责申明:

本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢
题目收集至https://www.codewars/
https://www.codewars/kata/the-walker

更多推荐

python进阶练习题:沃克【难度:2级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶