问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python有趣的代码(python有趣的代码简单)

发布网友 发布时间:2024-09-05 06:39

我来回答

1个回答

热心网友 时间:2024-10-20 17:18

Python海龟围绕8字走的代码?

下面是Python中使用海龟绘图库(turtle)实现海龟围绕“8”字走的代码:

```python

importturtle

turtle.speed(1)#设置画笔移动速度

turtle.shape('turtle')#设置画笔形状为海龟

#绘制“8”字

foriinrange(2):

turtle.circle(50,180)

turtle.circle(10,180)

turtle.done()#结束绘图,等待用户关闭窗口

```

解释一下上述代码的实现过程:

-首先导入了turtle模块,并设置了画笔移动速度和形状为海龟。

-然后使用循环语句绘制“8”字。具体来说,利用`circle()`方法让海龟按照指定的半径和角度绘制圆弧,其中第一个参数是半径,第二个参数是角度,正值表示逆时针方向,负值表示顺时针方向。

-最后调用`done()`方法结束绘图,等待用户关闭窗口。

运行上述代码,即可在窗口中看到海龟围绕“8”字走的图案。

python有趣的编程代码

class?Point:

??row=0

??col=0

??def?__init__(self,?row,?col):

????self.row=row

????self.col=col

??def?copy(self):

????return?Point(row=self.row,?col=self.col)

#初始框架

import?pygame

import?random

#初始化

pygame.init()

W=800

H=600

ROW=30

COL=40

size=(W,H)

window=pygame.display.set_mode(size)

pygame.display.set_caption('贪吃蛇')

bg_color=(255,255,255)

snake_color=(200,200,200)

head=Point(row=int(ROW/2),?col=int(COL/2))

head_color=(0,128,128)

snakes=[

??Point(row=head.row,?col=head.col+1),

??Point(row=head.row,?col=head.col+2),

??Point(row=head.row,?col=head.col+3)

]

#生成食物

def?gen_food():

??while?1:

????pos=Point(row=random.randint(0,ROW-1),?col=random.randint(0,COL-1))

????#

????is_coll=False

????#是否跟蛇碰上了

????if?head.row==pos.row?and?head.col==pos.col:

??????is_coll=True

????#蛇身子

????for?snake?in?snakes:

??????if?snake.row==pos.row?and?snake.col==pos.col:

????????is_coll=True

????????break

????if?not?is_coll:

??????break

??return?pos

#定义坐标

food=gen_food()

food_color=(255,255,0)

direct='left'???????#left,right,up,down

#

def?rect(point,?color):

??cell_width=W/COL

??cell_height=H/ROW

??left=point.col*cell_width

??top=point.row*cell_height

??pygame.draw.rect(

????window,?color,

????(left,?top,?cell_width,?cell_height)

??)

??pass

#游戏循环

quit=True

clock=pygame.time.Clock()

while?quit:

??#处理事件

??for?event?in?pygame.event.get():

????if?event.type==pygame.QUIT:

??????quit=False

????elif?event.type==pygame.KEYDOWN:

??????if?event.key==273?or?event.key==119:

????????if?direct=='left'?or?direct=='right':

??????????direct='up'

??????elif?event.key==274?or?event.key==115:

????????if?direct?==?'left'?or?direct?==?'right':

??????????direct='down'

??????elif?event.key==276?or?event.key==97:

????????if?direct?==?'up'?or?direct?==?'down':

??????????direct='left'

??????elif?event.key==275?or?event.key==100:

????????if?direct?==?'up'?or?direct?==?'down':

??????????direct='right'

??#吃东西

??eat=(head.row==food.row?and?head.col==food.col)

??#重新产生食物

??if?eat:

????food?=?gen_food()

??#处理身子

??#1.把原来的头,插入到snakes的头上

??snakes.insert(0,?head.copy())

??#2.把snakes的最后一个删掉

??if?not?eat:

????snakes.pop()

??#移动

??if?direct=='left':

????head.col-=1

??elif?direct=='right':

????head.col+=1

??elif?direct=='up':

????head.row-=1

??elif?direct=='down':

????head.row+=1

??#检测

??dead=False

??#1.撞墙

??if?head.col0?or?head.row0?or?head.col=COL?or?head.row=ROW:

????dead=True

??#2.撞自己

??for?snake?in?snakes:

????if?head.col==snake.col?and?head.row==snake.row:

??????dead=True

??????break

??if?dead:

????print('死了')

????quit=False

??#渲染——画出来

??#背景

??pygame.draw.rect(window,?bg_color,?(0,0,W,H))

??#蛇头

??for?snake?in?snakes:

????rect(snake,?snake_color)

??rect(head,?head_color)

??rect(food,?food_color)

??#

??pygame.display.flip()

??#设置帧频(速度)

??clock.tick(8)

#收尾工作

这是一个简易版贪吃蛇的代码,虽然结构简单,但是该有的功能都是完整的,可玩性也不错

python圣诞树代码简单

```python#Python圣诞树代码foriinrange(1,6):forjinrange(1,i+1):print('*',end='')print('\n')```

拓展:如果想改变树的形状,可以在代码中添加更多的控制参数,如在每一行中添加不同的空格数,使得树的形状不一样。同时可以通过添加HTML标签,使用CSS样式来改变圣诞树的颜色、背景和文字等等。

6个值得玩味的Python代码

先选取了6个自己认为值得玩味的python代码,希望对正在学习python的你有所帮助。

1、类有两个方法,一个是new,一个是init,有什么区别,哪个会先执行呢?

运行结果如下:

再来看另一个例子

运行结果如下:

这里给出官方的解释:init作用是类实例进行初始化,第一个参数为self,代表对象本身,可以没有返回值。new则是返回一个新的类的实例,第一个参数是cls代表该类本身,必须有返回值。很明显,类先实例化才能产能对象,显然是new先执行,然后再init,实际上,只要new返回的是类本身的实例,它会自动调用init进行初始化。但是有例外,如果new返回的是其他类的实例,则它不会调用当前类的init。下面我们分别输出下对象a和对象b的类型:

可以看出,a是test类的一个对象,而b就是object的对象。

2、map函数返回的对象

map()函数第一个参数是fun,第二个参数是一般是list,第三个参数可以写list,也可以不写,作用就是对列表中list的每个元素顺序调用函数fun。

有没有发现,第二次输出b中的元素时,发现变成空了。原因是map()函数返回的是一个迭代器,并用对返回结果使用了yield,这样做的目的在于节省内存。举个例子:

执行结果为:

这里如果不用yield,那么在列表中的元素非常大时,将会全部装入内存,这是非常浪费内存的,同时也会降低效率。

3、正则表达式中compile是否多此一举?

比如现在有个需求,对于文本中国,用正则匹配出标签里面的“中国”,其中class的类名是不确定的。有两种方法,代码如下:

这里为什么要用compile多写两行代码呢?原因是compile将正则表达式编译成一个对象,加快速度,并重复使用。

4、[[1,2],[3,4],[5,6]]一行代码展开该列表,得出[1,2,3,4,5,6]

5、一行代码将字符串"-"插入到"abcdefg"中每个字符的中间

这里也建议多使用os.path.join()来拼接操作系统的文件路径。

6、zip函数

zip()函数在运算时,会以一个或多个序列(可迭代对象)做为参数,返回一个元组的列表。同时将这些序列中并排的元素配对。zip()参数可以接受任何类型的序列,同时也可以有两个以上的参数;当传入参数的长度不同时,zip能自动以最短序列长度为准进行截取,获得元组。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 人类以生物为“老师”的事列 你还知道哪些人类以生物为“老师”的事例?搜集有关的文字或资料 你知道尿酸的正常值是多少吗? 有哪些人类以生物为"老师"的事例,如根据蜻蜓的翅膀发明了飞机._百度... 人类以生物为老师的是例还有哪些 尿酸值多少正常 人类以生物为老师的动物的文字 生产中使用的发电机常用___作转子,转子需要由外力来带动 尿酸425算高吗 慕年是什么意思? 慕晚歌是什么意思? 弓箭手加技能的顺序是什么? 求教弓箭手1-4转完美加技能~! 你是哪里的人,怎么用英语写。 地理试题:对于萨德问题中国提出怎样的理念 女人的安全感就是遇到困难,有个人说多大点事儿 幸福的距离里扮演夏清优学生时代的演员名字? 最好听的服装店名1000个 服装店名字独特大气上档次起名 那冒名顶替罪判刑多久? 冒名顶替罪会判刑几年? 怀化到安康火车票价 怀化到安康火车的火车1608在张家界停车吗 安康到怀化的火车经过武当山是什么时候 请问怀化能买安康至西安的火车票吗?还有怀化去安康的票好买吗?_百度知... 怀化到安康的火车到安康中点之后会一直开往西安吗? ...有一个我不认识的人像我求婚(我刚13)但是我拒绝了他,这说明什么呢... 合同倒签的法律风险有哪些? 签订合同时有什么风险,法律上的标准是什么 心脑血管意外怎么挽救回来 ...爷爷奶奶(已去世)的坟墓拜祭,在墓地区还有好多人分别在上坟拜祭,后 ... 侵犯知识产权怎样赔偿标准 知识产权适用惩罚性赔偿的条件是什么 知识产权侵权赔偿标准是哪些 知识产权侵权立案标准是怎样的 男人的睾丸下垂松弛怎么办 阴囊松软下垂怎么回事 徐州为啥网友见面选择黄河公园 为什么我看别人的阴囊松弛时候下垂的很低拉的很长,而我的不那么松弛,送... 我总是梦见有蛇追我什么意思 这个纹身什么意思?有知道的吗??速求!