本文目录一览:
用Python画星空图,并且要求有月亮
import turtle as t
from random import randint
def five(size):for a in range(5):t.forward(size);t.right(144)
def moon(size):t.circle(size)#半径
t.pencolor("yellow")
t.penup()
t.goto(100,100)
t.pendown()
moon(4)
for a in range(10):t.penup();t.goto(randint(100,0),randint(100,0));t.pendown();five(randint(1,3))
还可以再改进改进。
求简洁优美的python代码例子、片段、参考资料
建议你去看一本书:《计算机程序的构造与解释》。里面用的语言是Scheme,一种Lisp的方言。通过这本书学习程序的抽象、封装,以及重要的函数式编程思想。等看完这本书以后,你在来写写Python代码,就知道如何让其简洁直观而又不失其可读性了。
同时,要让代码写得简洁,你也得熟悉Python本身,充分挖掘其能力。Python内建的几个高阶函数:map,reduce,filter,enumerate等等,lambda表达式,zip函数,以及标准库里强大的itertools、functools模块,都是函数式编程的利器。此外Python本身提供了许多非常好的语法糖衣,例如装饰器、生成器、*args和**kwargs参数、列表推导等等,也是简化代码的有效手段。还有,Python有着强大的库。多参考官方的文档了解其原理和细节,我相信你也能写出高效简洁的代码的。
其实代码的简洁没有什么捷径,它要求你了解你要解决的问题,所使用的语言和工具,相关的算法或流程。这些都得靠你自己不断地练习和持续改进代码,不断地专研问题和学习知识。加油吧,少年!
楼下让你参考PEP 20,其实不用去查,标准库里的this模块就是它(试试import this):The Zen of Python(Python之禅)。它就是一段话:
s='''
The Zen of Python, by Tim Peters
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
'''
让我们来做个小游戏吧:统计上面这段话的单词总数目,以及各个单词的数量(不区分大小写),然后按字典顺序输出每个单词出现的次数。要求,例如it's和you're等要拆分成it is和you are。你会怎么写代码呢?如何保持简洁呢?
下面是我的参考答案,争取比我写的更简洁吧~
import re
p = re.compile("(\w+)('s|'re|n't)?")
wc = {}
tail_map = { "'s" : 'is', "'re" : 'are', "n't": 'not'}
for m in re.finditer(p, s):
word = m.group(1).lower() # Get the word in lower case
wc[word] = wc.get(word, 0) + 1 # Increase word count
tail = m.group(2) # Get the word tail
if tail is not None: # If a word tail exists,
tail = tail_map[tail] # map it to its full form
wc[tail] = wc.get(tail, 0)+1 # Increase word count
print ('Total word count: %d'%sum(wc.values())) # Output the total count
max_len = max(map(len, wc.keys())) # Calculate the max length of words for pretty printing
for w in sorted(wc.keys()): # Sort the words
print ('%*s = %d'%(max_len, w, wc[w])) # Output
python画五角星代码
python是一种强大的编程语言,通过使用python,我们可以进行各种各样的图案、语句、动画等等编程。你知道用python画五角星的代码是什么吗?今天小编就来为大家详细演示一遍。希望通过这个小小的例子,能让你的python编程技术更进一步!
1.导入python的turtle模块。具体如图所示。
2.开始画五星为了填充,需要开始填充begin_fill()。具体如图所示。
3.分别设置笔和填充。具体如图所示。
4.因为五角星每个角为36度,而且旋转180-36度,所以使用循环语句
foriinrange(5):
forward(100)
right(180-36)执行重复的动作。
具体如图所示。
5.最后填充。具体如图所示。
6.最后的图形。具体如图所示。
7.最后隐藏画笔ht()。具体如图所示。
照着上面的方法一步一步操作,就可以用python画五角星了,是不是很有趣?快来打开电脑试一试,画一个属于你自己的五角星吧!兴趣是学习的最大动力,在平常学习python语言时,你也可以多找些类似画五角星这样的例子来学习,这样没准可以让自己学的更快哦。
本篇文章使用以下硬件型号:联想小新Air15;系统版本:linux;软件版本:python。