2015-10-22 47 views
-2

上午一種新的編碼,請幫我出這一個與解釋longestPossible(在python longest_possible):創建輔助函數需要1個整型參數,它是一首歌曲的以秒爲最大長度

歌曲是被格式化對象的數組如下:

{藝術家:「藝術家」,標題:「標題字符串」,回放:'04:30' }

你可以期望重放值進行格式化完全像上面一樣。

輸出應該從符合不比規定時間長的標準數據庫中最長的歌曲的標題。如果數據庫中沒有符合條件的歌曲,則返回false。

回答

0

要麼你可以改變播放,這樣的而不是字符串,它是一個整數(例如,以秒爲歌曲的長度),你轉換成用於顯示的字符串,並測試從那裏,或者,在測試中,你可以播放帶,並轉換成它的長度在幾秒鐘內,像這樣:

def songLength(playback): 
     seconds = playback.split(':') 
     lengthOfSong = int(seconds[0]) * 60 + int(seconds[1]) 
     return lengthOfSong 

這將給以下結果:

>>> playback = '04:30' 
    >>> songLength(playback) 
    270 

我不熟悉的特定數據結構你正在使用,但如果你可以迭代這些,你可以做類似的事情這:

def longestPossible(array, maxLength): 
     longest = 0 
     songName = '' 
     for song in array: 
      lenSong = songLength(song.playback) # I'm formatting song's playback like this because I'm not sure how you're going to be accessing it. 
      if maxLength >= lenSong and (maxLength - lenSong) < (maxLength - longest): 
       longest = lenSong 
       songName = song.title 
     if longest != 0: 
      return songName 
     else: 
      return '' # Empty strings will evaluate to False. 

我還沒有測試過這個,但我認爲這應該至少讓你在正確的軌道上。有更多Pythonic這樣做的方式,所以永遠不要停止改進你的代碼。祝你好運!

相關問題