程序无法返回True,只有False

时间:2020-10-13 10:02:02

标签: python

我在codewars中遇到以下问题:

您住在笛卡尔市,那里的所有道路都以完美的网格布局。您提前十分钟到达预约地点,所以您决定趁机散步。该城市在其手机上为市民提供了“步行生成应用程序”-每次您按下按钮时,都会向您发送一个由一个字母组成的字符串数组,这些字符串代表步行方向(例如['n', 's', 'w', 'e'])。您总是每个字母(方向)只走一个街区,并且知道走过一个城市街区要花费一分钟,因此创建一个函数,如果应用程序给您走,它将返回true,而该函数将花费您正好十分钟(不想早或晚!),当然,它将使您回到起点。否则返回false。

输入['n','s','n','s','n','s','n','s','n','s']应该返回True,但是我下面的解决方案返回None

def is_valid_walk(walk):
if not len(walk) == 10:
    return False

elif 'n' in walk:
    if not 's' in walk:
        return False
    elif not walk.count('n') == walk.count('s'):
        return False

elif 's' in walk:
    if not 'n' in walk:
        return False

elif 'e' in walk:
    if not 'w' in walk:
        return False
    elif not walk.count('e') == walk.count('w'):
        return False

elif 'w' in walk:
    if not 'e' in walk:
        return False

else:
    return True

1 个答案:

答案 0 :(得分:0)

请测试以下代码。

SELECT note_id, notes_date_time, comments, DATALENGTH(comments) AS 'note_length'
FROM job_notes
WHERE DATALENGTH(comments) > (select AVG(DATALENGTH(comments)) from job_notes)
ORDER BY DATALENGTH(comments) DESC