【Python CheckiO 题解】All the Same

CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,传送门:https://checkio.org/,本博客主要记录自己在闯关时的做题思路和实现代码,同时也学习学习其他大神写的代码。

题目描述

【All the Same】:检查给定的列表,判断是否其中所有的元素都相等

【输入】:列表(List)

【输出】:布尔值(Bool),True 或者 False

【范例】

all_the_same([1, 1, 1]) == True
all_the_same([1, 2, 1]) == False
all_the_same(['a', 'a', 'a']) == True
all_the_same([]) == True

解题思路

利用 set() 函数删除重复数据,如果其长度小于等于1,返回 True,否则返回 False。

代码实现

from typing import List, Any


def all_the_same(elements: List[Any]) -> bool:
    if len(set(elements)) <= 1:
        return True
    else:
        return False


if __name__ == '__main__':
    print("Example:")
    print(all_the_same([1, 1, 1]))
    
    # These "asserts" are used for self-checking and not for an auto-testing
    assert all_the_same([1, 1, 1]) == True
    assert all_the_same([1, 2, 1]) == False
    assert all_the_same(['a', 'a', 'a']) == True
    assert all_the_same([]) == True
    assert all_the_same([1]) == True
    print("Coding complete? Click 'Check' to earn cool rewards!")

大神解答

大神解答 NO.1

def all_the_same(elements):
   return elements[1:] == elements[:-1]

大神解答 NO.2

def all_the_same(elements):
    return len(elements) < 1 or len(elements) == elements.count(elementse[0])
发布了115 篇原创文章 · 获赞 348 · 访问量 37万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览