簡體   English   中英

創建longestPossible(python中的longest_possible)輔助函數,該函數接受1個整數參數,這是一首歌曲的最大長度(以秒為單位)

[英]Create longestPossible(longest_possible in python) helper function that takes 1 integer argument which is a maximum length of a song in seconds

我是編碼新手,請幫助我解釋這個問題:

歌曲是一組對象,其格式如下:

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

您可以期望播放值的格式與上述完全相同。

輸出應該是數據庫中符合不超過指定時間標准的最長歌曲的標題。 如果數據庫中沒有符合條件的歌曲,則返回 false。

您可以更改播放,以便它不是字符串,而是一個整數(例如,以秒為單位的歌曲長度),您可以將其轉換為字符串以進行顯示,然后從那里進行測試,或者,在測試期間,您可以進行播放並將其轉換為以秒為單位的長度,如下所示:

    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 的方法可以做到這一點,所以永遠不要停止改進你的代碼。 祝你好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM