Python编程技巧:从基础到进阶代码实例解析
python简单的编程代码
输入两个数字,比较大小,然后打印defcmpNum():a=input("请输入一个数字:")b=input("请输入一个数字:")ifa>=b:print(a,b)else:print(b,a)cmpNum()结果1:请输入数字:159请输入数字:456456159结果2:请输入数字:9568请输入号码:145295681452python有趣的代码(python有趣的代码简单)
Python海龟在Word8中移动的代码?以下是Python代码,使用海龟绘图库(Tortoise)创建一只围绕单词“8”移动的海龟:
``Python
importturtle
turtle.speed(1)#设置画笔的速度
turtle.shape('turtle')#设置画笔的形状为海龟
#画对于单词“8”
iinrange(2):
turtle.circle(50,180)
turtle.circle(10,180)
turtle.done()#完成绘制并等待用户必须关闭窗口
```
解释一下上面代码的实现过程:
-首先导入海龟模块,并设置画笔的速度并给出乌龟的形状。
-然后使用循环语句提取单词“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)
#initialization
导入?pygame
导入?随机
#initialization
pygame.init()
W=800
H=600
ROW=30
COL=40
SIZE=(宽,高)
window=pygame.display.set_mode(大小)
pygame.display.set_caption('Snake')
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)
snake=[
Point(row=head.row,?col=head.col+1),
Point(row=哭了。
w,?col=head.col+2),
Point(row=head.row,?col=head.col+3)
]
#makefood
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=Tru
?break
?if?not?is_coll:
break
return?pos
#define坐标
food=gen_food()
food_color=(255,255,0)
direct='left'#左、右、上、下
#
def?rect(point,?color):
#
def?rect(point,?color):
Cell_width=W/COL
cell_height=H/ROW
left=point.col*cell_width
top=point.row*cell_height
pygame.draw。
矩形(
窗口,?颜色,
(左,?顶部),?cell_width,?cell_height)
)
通过
#game循环
skip=true
clock=pygame.time.Clock()while?skip:
#processevent
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=='左'?or?direct=='右':
?direct='上'
?elif?event.key==274?or?event.key==115:
if?direct?==?'left'?or?direct?==?“正确”:
direct='down'
?elif?event.key==276?or?event.key==97:
?if?direct?==?'向上'?or?direct?==?'向下':
?direct='左'
elif?event.key==275?or?event.key==100:
if?direct==?'up'?或者?直接?==?'向下':
?direct='right'
#Eating
eat=(head.row==食物.row?and?head.col==food.col)
#regeneratefood
if?eat:
食物?=?gen_food()
#处理尸体
#1.去掉蛇的真头插入头部
snakes.insert(0,?head.copy())
#2删除最后
if?not?吃:
snakes.pop()
#Mobile
if?direct=='left':
?head.col-=1
elif?direct=='right':
head.col+=1
elif?direct=='up':
head.row-=1
elif?direct=='down':
?head.row+=1
#detection
dead=false
#1墙
if?head.col0?or?head.row0?or?head.col=COL?or?head.row=ROW:
dead=true
#2。
打败自己
为什么?nake?in?snakes:
if?head.col==snake.col?and?head.row==snake.row:
dead=true
break
if?dead:
print('dead')
>skip=false
渲染——画这个
#Background
pygame.draw.rect(window,?bg_color,?(0,0,W,H))
#SNAKEHEAD
for?snake?in?snakes:
rect(snake,?snake_color)
直(头,?head_color)
rect(food,?food_color)
#
pygame.display.flip()
#设置帧率
clock.tick(8)
#完成任务
这是蛇代码的一部分简化版本虽然结构简单,但功能齐全,可玩性也不错。
``Python#Python圣诞树代码foriinrange(1,6):forjinrange(1,i+1):print('*',end='')print('\n')```
扩展:如果想改变树的大小,可以在代码中添加更多的控制参数,比如在每行添加不同数量的空格,使树的大小不同。
同时,您可以通过添加HTML标签和使用CSS样式来更改圣诞树的颜色、背景、文本等。
我首先挑选了6个我认为值得考虑的Python代码,希望对正在学习Python的你有用。
1.类中有两种方法,一种是new,一种是init。
有什么区别?
运行结果如下:
我们再看一个例子
运行结果如下:
这里是官方解释:init的作用是,它是一个被初始化的类实例。
第一个参数是self,代表对象本身,可以没有返回值。
new返回一个新类的实例。
第一个参数是cls,它代表类本身,并且必须包含返回值。
显然,类必须在生成对象之前实例化。
显然是先执行new,然后执行init。
事实上,只要new返回类的实例,就会自动调用初始化。
但也有一些例外。
如果new返回另一个类的实例,它不会调用当前类的init。
下面我们分别输出对象A和对象B的类型:
可以看出,A是测试类的对象,B是测试类的对象。
2.由map函数返回Object
map()函数的第一个参数好玩,第二个参数一般是一个列表,第三个参数可以写成列表,也可以不写,function列表中的函数是对列表中的每个元素依次调用fun。
你有没有注意到,当第二次输出b中的元素时,它们是空的。
这是因为map()函数返回一个迭代器并对返回的结果使用yield。
其目的是节省内存。
例如:
执行结果为:
这里如果不使用yield,当列表中的元素太大时,就会全部加载到内存中,这是一个内存的巨大浪费,而且还会降低性能。
3.正则表达式中不需要编译吗?
比如现在对于中国文本,需要使用正则表达式来匹配标签中的“China”,而类的类名是不确定的。
有两种方法,代码如下:
这里为什么要用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可以自动选择最小的序列长度来获取元组。