体验游戏编程网站

最近学习python,想要找点练习,在看《python核心编程》(真是一本好书,非常详细,觉得看这一本书就够了,余下可以翻翻文档)。觉得cf之类的虽然能用python提交但是重点不是在学习python上
。终于找到了两个不错的网站checkio和pythonchallenge。今天先看看了看checkio确实很适合练习语法。

加载的速度有点慢,进去点两下就可以开始敲题了,题目还有提示

第一个题是清除列表中只出现了一次的元素:

 1 #Your optional code here
2 #You can import some modules or create additional functions
3
4
5 def checkio(data):
6 #Your code here
7 #It‘s main function. Don‘t remove this function
8 #It‘s used for auto-testing and must return a result for check.
9
10 l=len(data)
11 temp=[]
12 i=0
13 for i in range(l):
14 if data.count(data[i])>1:
15 temp.append(data[i])
16 data=temp;
17 return data
18
19 #Some hints
20 #You can use list.count(element) method for counting.
21 #Create new list with non-unique elements
22 #or remove elements from original list (but it‘s bad practice for many real cases)

23 #Loop over original list
24
25
26 if __name__ == "__main__":
27 #These "asserts" using only for self-checking and not necessary for auto-testing
28 assert isinstance(checkio([1]), list), "The result must be a list"
29 assert checkio([1, 2, 3, 1, 3]) == [1, 3, 1, 3], "1st example"
30 assert checkio([1, 2, 3, 4, 5]) == [], "2nd example"
31 assert checkio([5, 5, 5, 5, 5]) == [5, 5, 5, 5, 5], "3rd example"
32 assert checkio([10, 9, 10, 10, 9, 8]) == [10, 9, 10, 10, 9], "4th example"

View
Code

当然根据提示敲个这个出来就足以说明我的新手程度了,在这里你还可以看到很多的非常好的解法,比如:

 1 #Your optional code here
2 #You can import some modules or create additional functions
3
4
5 def checkio(data):
6 return [i for i in data if data.count(i) > 1]
7
8 #Some hints
9 #You can use list.count(element) method for counting.
10 #Create new list with non-unique elements
11 #or remove elements from original list (but it‘s bad practice for many real cases)
12 #Loop over original list
13
14
15 #These "asserts" using only for self-checking and not necessary for auto-testing
16 if __name__ == "__main__":
17 assert isinstance(checkio([1]), list), "The result must be a list"
18 assert checkio([1, 2, 3, 1, 3]) == [1, 3, 1, 3], "1st example"
19 assert checkio([1, 2, 3, 4, 5]) == [], "2nd example"
20 assert checkio([5, 5, 5, 5, 5]) == [5, 5, 5, 5, 5], "3rd example"
21 assert checkio([10, 9, 10, 10, 9, 8]) == [10, 9, 10, 10, 9], "4th example"

View
Code

当然这里我的主要目的是学习语言,就暂且不最球效率什么的了

其实后面的就没提示了。。。。

第二题,求中位数

 1 def checkio(data):
2
3 data.sort()
4 l=len(data)
5 if l%2==0:
6 data[0]=(data[l/2-1]+data[l/2])/2.0
7 else:
8 data[0]=data[l/2]
9 return data[0]
10
11 #These "asserts" using only for self-checking and not necessary for auto-testing
12 if __name__ == ‘__main__‘:
13 assert checkio([1, 2, 3, 4, 5]) == 3, "Sorted list"
14 assert checkio([3, 1, 2, 5, 3]) == 3, "Not sorted list"
15 assert checkio([1, 300, 2, 200, 1]) == 2, "It‘s not an average"
16 assert checkio([3, 6, 20, 99, 10, 15]) == 12.5, "Even length"
17 print("Start the long test")
18 assert checkio(range(1000000)) == 499999.5, "Long."
19 print("The local tests are done.")

另外这有个很有意思的解法,利用了负的索引,写的非常好,语言特性mark!

 1 def checkio(data):
2 off = len(data) // 2
3 data.sort()
4 med = data[off] + data[-(off + 1)]
5 return med / 2
6
7 #These "asserts" using only for self-checking and not necessary for auto-testing
8 if __name__ == ‘__main__‘:
9 assert checkio([1, 2, 3, 4, 5]) == 3, "Sorted list"
10 assert checkio([3, 1, 2, 5, 3]) == 3, "Not sorted list"
11 assert checkio([1, 300, 2, 200, 1]) == 2, "It‘s not an average"
12 assert checkio([3, 6, 20, 99, 10, 15]) == 12.5, "Even length"

持续更新。。。

时间: 2024-08-10 15:11:49

体验游戏编程网站的相关文章

娱教于乐!四大游戏类编程网站,学Python再也不枯燥无味了

前言 学习编程虽然对有些人来说是件乐事,但是对大多数人来说仍然是一件比较枯燥困难的事情.当然,面临这样困惑的人,并不是只有你一个,所以,这世界上就出现了许多寓教于乐的通过游戏的形式来教你编程的网站.让你快乐学习编程. CodinGame 四大游戏编程网站,边玩游戏,边学Python,拒绝枯燥快乐编程 这是一个需要编程一个 AI 机器人,然后由它来解决各种面临的问题的有趣游戏.支持各种编程语言. 支持各种编程语言. 网站: https://www.codingame.com/ Code Comba

PC游戏编程(入门篇)(前言写的很不错)

PC游戏编程(入门篇) 第一章 基石 1. 1 BOSS登场--GAF简介 第二章 2D图形程式初体验 2.l 饮水思源--第一个"游戏"程式 2.2 知其所以然一一2D图形学基础 2.3 进入图形世界的钥匙--GAFDDraw 2.4 2D图像的本质--图层表面 2.5 场景的秘密--背景卷动 2.6 诱惑--来自"精灵"的问候 2.7 餐后甜点--GAFApp/GAFDDraw的其他法宝 第三章 塞壬的歌声魔力和第三类接触 3.1 1,2,3--计算机音乐概述

最大的幻术-游戏开发-到底是先学游戏引擎还是先学游戏编程

学习游戏的目的 我们学习游戏制作,游戏开发,游戏编程,游戏XX,我们的目的只有一个,打造一个非常牛逼,非常屌,非常让人开心的虚拟体验.我们用自己的学识让玩家在虚拟世界征战,生活,一步一步的让玩家幸福!那么我们的目的只有一个,让玩家知道自己的幸福在哪里,并且学会追求自己的幸福.当然,每个人对幸福的定义不一样.那么,我们只好让玩家来体验我们所来表达的最通俗的,最普遍的幸福体验,然后慢慢引导玩家去寻找自己的幸福体验.可能,在最后玩家都会离开游戏,离开虚拟世界,(对,这是真的,玩家需要一步一步达到定点,

游戏编程与游戏种类

游戏编程指利用计算机编程语言,如C编程语言.C++.java等,编写计算机.手机或游戏机上的游戏. 目前流行的游戏编程语言为C++编程语言,目前流行的游戏编程接口为DirectX9.0,还有OpenGL.SDL(Simple DirectMedia Layer)等.现在手机上玩的游戏分为Android与IOS两种不同平台,分别是用eclipse/MyEclipse和xcode.现在也流行一些跨平台的编程引擎,例如cocos2d-x.unity 3D等. 简介 游戏编程指利用计算机编程语言,如C编

Game Programming Patterns(游戏编程模式)-架构,性能与游戏

游戏编程模式- 架构,性能与游戏 本系列博客是:Game Programming Patterns 的中文翻译版本. 翻译的github地址: cyh24. 如有兴趣,可联系博主共同翻译,一起造(wu)福(dao)他人. 博客虽然水分很足,但是也算是博主的苦劳了, 如需转载,请附上本文链接,不甚感激! 本系列博客 <游戏编程模式>– 目录,可点击进入. 架构,性能与游戏 ============================ 在我们埋头研究一堆的设计模式之前,我想先告诉你,对于软件架构,我个

游戏编程十年总结(上)

自敲第一行代码起,已经十年多了,今天既不是十年整的日子,也不是一个有特定意义的日子,本来像这种大总结的文章,当择良辰吉日,斋戒沐浴三日,方可动笔.一开始计划是写一篇五年总结的,但各种原因一拖再拖,于是就变成了十年总结.光阴似箭,时不我待,转眼已经在奔三的路上了,离大叔的称呼很近了,但离大神的称呼还很远,在此谨以此文总结反思这十年技术生涯的点滴,与诸君共勉. 编程之前 大概是读初一的时候,家中有幸让我得到了一台二手电脑,那时的心情比现在让我得到一堆苹果电脑更加兴奋.但这是一台不能连网,也没有任何游

C++游戏编程(一开篇)

本系列文章由zhmxy555(毛星云)编写,转载请注明出处. http://blog.csdn.net/zhmxy555/article/details/7318264 作者:毛星云    邮箱: [email protected]    大家别叫我楼主能够吗- -.请叫我浅墨 在从第一节開始看这个笔记系列的话,大家会发现,一上来就開始讲DirectX相关的内容,可是写了几节之后,又開始讲 GDI了. 这是由于我写完前几节后,发觉直接讲DirectX有些生硬.最后我想了一下,应该先梳理完GDI相

【读书笔记-《Android游戏编程之从零开始》】6.Android 游戏开发常用的系统控件(TabHost、ListView)

3.9 TabSpec与TabHost TabHost类官方文档地址:http://developer.android.com/reference/android/widget/TabHost.html Android 实现tab视图有2种方法,一种是在布局页面中定义<tabhost>标签,另一种就是继承tabactivity.但是我比较喜欢第二种方式,应为如果页面比较复杂的话你的XML文件会写得比较庞大,用第二种方式XML页面相对要简洁得多. <?xml version="1

【转】游戏编程中的人工智能技术--神经网络

原文:http://blog.csdn.net/ecitnet/article/details/1799444 游戏编程中的人工智能技术. > .  (连载之一) 用平常语言介绍神经网络(Neural Networks in Plain English) 因为我们没有很好了解大脑,我们经常试图用最新的技术作为一种模型来解释它.在我童年的时候,我们都坚信大脑是一部电话交换机.(否 则它还能是什么呢?)我当时还看到英国著名神经学家谢林顿把大脑的工作挺有趣地比作一部电报机.更早些时候,弗罗伊德经常把大