python进阶练习题:沃克【难度:2级】:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-snyXKtsW-1571439623681)(https://i.imgur.com/5YNemou.png?1)]
漫步者
步行者从O点开始,沿OA,AB和BC散步.当他在C(C将在上半平面),什么是’距离CO?什么是正度,分,秒的角度
tOC`?
角tOA
是alpha
(这里为45度),角hAB
是beta
(这里30度),角uBC
是gamma
(这里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.com/
https://www.codewars.com/kata/the-walker