在CheckiO上熟悉编程

python语法看了一大堆,教程也学了一大堆,就想着做项目,但是发现根本动不了手,反复总结自己发现虽然看懂了语法,记住了方法,但是自己脑子里还是没有编程思维,也对敲代码不熟悉.
偶然间发现了一个网站CheckiO,这里提供了很多很多的编程练习,并且你可以在自己尝试解决后,通过点击通关表单里的Best Solutions查看到别人的解答方法.
一个自己动手解决了问题,二个看到别人pythonic的代码,又是给自己跟大的激励.

发现大神就是喜欢只用一行代码,这样回头看我的一堆if真的是丑!

闲暇时记录下一些Best Solutions,供自己温习吧.
因为是海外网站,真的很慢!

  1. 给你一段文本,其中包含不同的英文字母和标点符号。
    你要找到其中那个出现最多的 字母,返回的字母必须是 小写形式。
    找这个“头号通缉字母”时,大小写不重要,所以对于你的搜索而言 “A” == “a”。 注意不要管标点符号、数字和空格,我们只要 字母!
    如果你找到 两个或两个以上出现频率相同的字母,那么返回字母表中靠前的那个。 例如“one”包含“o”、“n”、“e”每个字母一次,因此我们选择“e”。
    输入: 包含待分析文本的字符串
    输出: 那个出现最多的字母的字符串(小写哦)
import string

def checkio(text):
    """
    We iterate through latyn alphabet and count each letter in the text.
    Then 'max' selects the most frequent letter.
    For the case when we have several equal letter,
    'max' selects the first from they.
    """
    text = text.lower()
    return max(string.ascii_lowercase, key=text.count)
  1. 你将得到一个含有整数(X)的非空列表。在这个任务里,你应该返回在此列表中的非唯一元素的列表。要做到这一点,你需要删除所有独特的元素(这是包含在一个给定的列表只有一次的元素)。解决这个任务时,不能改变列表的顺序。例如:[1,2,3,1,3] 1和3是非唯一元素,结果将是 [1, 3, 1, 3]。
    non-unique-elements
    输入: 一个含有整数的列表。
    输出: An iterable of integers.
def checkio(data):
        return [i for i in data if data.count(i
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值