iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 18
1
自我挑戰組

程式設計師大冒險系列 第 18

[18/150]測試系統應用(Python)10221 - Satellites

  • 分享至 

  • xImage
  •  

刷題時為了監測變數資料,常常需要輸出變數,監測完以後再註解程式。但是一段程式裡需要註解程式通常分散各處,如何快速關閉監測資料,於是我多設了測試系統。

大綱


測試系統解說

def test(fun):#(程式名稱)
    if(fun=="inp"):#程式一
        return 0#開關
    elif(fun=="hand"):#程式二
        return 1#開關

if(tect(程式名稱)):pritf(變數)
透過這樣的方式,可以快速關閉同一個程式測試系統。
不過在提報程式碼,建議整理一遍,並且刪掉測試系統。
因為程式碼過長,系統會自動斷行,但是Python主要是靠空白決定階層。
自動斷行,容易造成錯誤。
因為這樣吃了不少虧


10221 - Satellites

import sys,math

def test(fun):
    if(fun=="inp"):
        return 0
    elif(fun=="hand"):
        return 1
    
def inp():
    teca=sys.stdin.readline()
    while(teca!=""):
        teca=teca.replace("\n","")
        num1,num2,st=teca.split()
        if(test("inp")):print(num1,num2,st)
        print("%.6f"%hand(num1,num2,st))
        teca=sys.stdin.readline()
        
def hand(o,t,st):
    o,t=map(int,(o,t))
    o+=6440
    if(st=="min"):
        t=(t/60)%180
    else:
        t=t%180
    if(test("hand")):print("%.6f"%(2*o*math.sin(t/2)))
    return 2*math.pi*o*t/360
    
inp()

總結

圓形、三角形的定理,都忘記不少。
時間都花在了解公式上,目前還在猶豫將高中數學列入學習目標。
感謝撥冗閱讀


上一篇
[17/150]刷題是需要手感10908 - Largest Square
下一篇
[19/150]幾何座標解題(Python)10242 - Fourth Point !!
系列文
程式設計師大冒險115
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言