本文目录一览:
- 1、python基础代码是什么?
- 2、python新手代码有哪些?
- 3、python基本语句有哪些
- 4、python必背入门代码是什么?
- 5、python基础代码是什么?
- 6、python语言基本语句有什么
- 7、10个极简python代码,拿走即用
- 8、python简单的编程代码
- 9、python有趣的编程代码
python基础代码是什么?
python入门代码是:
defnot_empty(s):
returnsandlen(s。strip())>0
#returnsands。strip()
#如果直接单写s。strip()那么s如果是None,会报错,因为None没有strip方法。
#如果s是None,那么Noneand任何值都是False,直接返回false
#如果s非None,那么判定s。trip()是否为空。
这样子filter能过滤到None,"",""这样的值。
分成两部分看。第一部分是对长度进行序列。相当于就是range(5)他的结果就是。01234。第二部分就是具体的排序规则。排序规则是用nums的值进行排序,reverse没申明就是默认升序。就是用nums(0到4)的值进行排序,根据这个结果返回的一个range(5)的数组。
基本语法:
Python的设计目标之一是让代码具备高度的可阅读性。它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观。它不像其他的静态语言如C、Pascal那样需要重复书写声明语句,也不像它们的语法那样经常有特殊情况和意外。
python新手代码有哪些?
python新手代码有如下:
defnot_empty(s)。
returnsandlen(s。strip())>0。
#returnsands。strip()。
#如果直接单写s。strip()那么s如果是None,会报错,因为None没有strip方法。
#如果s是None,那么Noneand任何值都是False,直接返回false。
#如果s非None,那么判定s。trip()是否为空。
相关简介。
Python解释器易于扩展,可以使用C或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。Python 也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。
2021年10月,语言流行指数的编译器Tiobe将Python加冕为最受欢迎的编程语言,20年来首次将其置于Java、C和JavaScript之上。
python基本语句有哪些
Python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。下面我们就为大家介绍一下python的基本语句。推荐教程:python视频教程1、python简单语句的基本介绍>>> while True: #简单的while循环... reply = input('Enter text:') #调用了Input,将输入传参给reply... if reply == 'stop': break #如果输入的是stop就退出循环... print(reply.upper()) #如果输入的不是stop就一直将输入的转换为大写字母...Enter text:abc #这是第一个输入abc,看到下面转换成大写的ABC了ABCEnter text:nihao123daNIHAO123DAEnter text:stop #这里输入了一个stop,然后循环就退出了>>>上面的代码利用了Python的while循环,它是Python最通用的循环语句。简单的说,它的组成为:while这个单词,之后跟一个其结果为真或假的表达式,再接一个当顶端测试为真(这时的True看做是永远为真)时不停的迭代的嵌套代码块。这个Input内置函数,在这里用于通过控制台输出,它打印可选的参数字符串作为提示,并返回用户输入的回复字符串。利用嵌套代码块特殊规则的单行if语句也在这里出现:if语句体出现在冒号之后的首行,而并不是在首行的下一行缩进。最后,Python的break语句用于立即退出循环。也就是完全跳出循环语句而程序会继续循环之后的部分。如果没有这个退出语句,while循环会因为测试总是真值而永远循环下去。>>> while True:... reply = input('Enter text:')... if reply == 'stop': #如果是stop就退出... break... elif not reply.isdigit(): #如果输入的不是数字类型就打印Bad1 8次... print('Bad!' * 8)... else: #否则就打印输入数字的2次方... print(int(reply) ** 2)... #按回车下面是测试结果Enter text:abcBad!Bad!Bad!Bad!Bad!Bad!Bad!Bad!Enter text:aBad!Bad!Bad!Bad!Bad!Bad!Bad!Bad!Enter text:24Enter text:stop>>>Python会执行首次测试为真所想匹的代码块,按照由上至下的顺序,如果所有测试都是假,就执行else部分。2.赋值、表达式和打印赋值语句有些特性要专门记住,如下所示赋值语句建立对象引用值,Python赋值语句会把对象引用值存储在变量名或数据结构的元素内。赋值语句总是建立对象的引用值,而不是赋值对象。因此,Python变量更像是指针,而不是数据存储区域。变量名在首次赋值时会被创建。Python会在首次将(即对象引用值)赋值给变量时创建其变量名。有些(并非全部)数据结构元素也会在赋值时创建(例如,字典中的元素,一些对象属性)。一旦赋值了,每当这个变量名出线在表达式时,就会被其所引用的值取代。变量名在引用前必须先赋值。使用尚未进行赋值的变量名是一种错误,如果你视图这么做,Python会引发异常,而不是返回某种模糊的默认值;如果返回默认值,就很难再程序中找出输入错误的地方。执行隐式赋值的一些操作,在Python中,赋值语句会在许多情况下使用。例如,模块导入、函数和类的定义、for循环变量以及函数参数全都是隐式赋值运算。>>> seq = [1,2,3,4]>>> a,b,c,*d = seq>>> print(a,b,c,d)1 2 3 [4]>>> L = [1,2,3,4]>>> while L:... front, *L = L... print(front,L)...1 [2, 3, 4]2 [3, 4]3 [4]4 []当使用一个带星号的名称的时候,左边的目标中的项数不需要与主题序列的长度匹配。实际上,带星号的名称可以出现在目标中的任何地方打印操作在python中,print语句可以实现打印--只是对程序员友好的标准输出流的接口而已。从技术角度来讲,这是把一个或多个对象转换为其文本表达形式,然后发送给标准输出或另一个类似文件的流。文件对象方法:例如file.write(str).打印操作是类似的,但更加专注--文件写入方法是把字符串写入到任意的文件,print默认地把对象打印到stdout流,添加了一些自动的格式化。和文件方法不同,在使用打印操作的时候,不需要把对象转换为字符串。标准输出流:标准输出流(通常叫做stdout)只是发送一个程序的文本输出的默认的地方。加上标准输入流和错误流,它只是脚本启动时所创建的3种数据连接中的一种。标准输出通常映射到启动Python程序的窗口,除非它已经在操作系统的shell中重定向到一个文件或管道。Python语法规则Python语法有些特性是我们需要知道的: 语句是逐个运行的:python一般都会按照次序从头到尾执行文件中嵌套块中的语句,但是像if(还有循环)这种语句会使得解释器在程序内跳跃。因为Python经过一个程序的路径叫做控制流程,像if这类会对其产生影响的语句,通常叫做控制流程语句。 块和语句的边界会自动检测。Python的程序块中没有大括号或“begin/end”等分隔字符;反之,Python使用首行下的语句缩进把嵌套块内的语句组合起来。同样地,Python语句一般是不以分号终止的,一行的末尾通常就是该行所写语句的结尾。复合语句=首行+“: ” + 缩进语句。Python中所有复合语句都遵循相同格式:首行会以冒号终止,再接一个或多个嵌套语句,而且通常都是在首行下缩进的。缩进语句叫做块(有时叫做组)。在If语句中,elif和else分句是if的一部分,也是其本身嵌套块的首行。 空白行、空格以及注释通常都会忽略。文件中空白行将忽略(但在交互模式提示符下不会)。语句和表达式中的空格几乎都忽略(除了在字符串常量内,以及用在缩进时)。注释总是忽略:它们以#字符开头(不是在字符串常量内),而且延伸至该行的末尾。 文档字符串(docstring)会忽略,但会保存并由工具显示。Python支持的另一种注释,叫做文档字符串(简称docsting)。和#注释不同的是,文档字符串会在运行时保留下来以便查看。文档字符串只是出现在程序文件和一些语句顶端的字符串中。Python会忽略这些内容,但是,在运行时会自动将其附加在对象上,而且能由 文档工具显示。while和for循环while语句是Python语言中最通用的迭代结构。>>> x = 'spam'>>> while x:... print(x,end='')... x = x[1:]...spampamamm>>>注意,这里使用end= ‘'关键字参数,使所有输出都出现在同一行,之间用空格隔开;在python中:break : 跳出最近所在的循环(跳过整个循环语句)continue : 跳到最近所在循环的开头处(来到循环的首行)pass:什么事也不做,只是空占位语句循环else块:只有当循环正常离开时才会执行(也就是没有碰到break语句)
python必背入门代码是什么?
具体如下:
1、反转字符串:
#Reversing a string using slicing
my_string ="ABCDE”
reversed string = my_string[:: -1]
print( reversed _string)
#output
#EDCBA
2、使用标题类:
my_string = "my name is chaitanya baweja"
newstring =my string.title(
print(new_string)
# My Name Is chaitanya Baweja
3、查找字符串的唯一要素:
my_string = "aavvccccddddeee"
temp_set = set(my_string)
new string = -join(temp_set)
print(new_string)
4、输出 n次字符串或列表:
n = 3
my_string = "abcd"my _list = [1,2,3]
print(my_string*n)
print(my_list*n)
import streamlit as st
5、列表解析:
n = 4
my_list = [o]*n#[o, o,o,o]
6、两个变量之间的交换值:
original_list =[1,2,3,4]
new list =[2*x for x in original_list]
print(new_list)
#[2,4,6,8]
Python经常被用于Web开发。比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。Python定义了WSGI标准应用接口来协调Http服务器与基于Python的Web程序之间的通信。一些Web框架,如Django,TurboGears,web2py,Zope等,可以让程序员轻松地开发和管理复杂的Web程序。
在很多操作系统里,Python是标准的系统组件。大多数Linux发行版以及NetBSD、OpenBSD和Mac OS X都集成了Python,可以在终端下直接运行Python。
应用范围:
有一些Linux发行版的安装器使用Python语言编写,比如Ubuntu的Ubiquity安装器,Red Hat Linux和Fedora的Anaconda安装器。
Gentoo Linux使用Python来编写它的Portage包管理系统。Python标准库包含了多个调用操作系统功能的库。
通过pywin32这个第三方软件包,Python能够访问Windows的COM服务及其它Windows API。
使用IronPython,Python程序能够直接调用.Net Framework。一般说来,Python编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都优于普通的shell脚本。
python基础代码是什么?
代码:
defnot_empty(s):
returnsandlen(s。strip())>0
#returnsands。strip()
#如果直接单写s。strip()那么s如果是None,会报错,因为None没有strip方法。
#如果s是None,那么Noneand任何值都是False,直接返回false
#如果s非None,那么判定s。trip()是否为空。
这样子filter能过滤到None,"",""这样的值。
分成两部分看。第一部分是对长度进行序列。相当于就是range(5)他的结果就是。01234。第二部分就是具体的排序规则。排序规则是用nums的值进行排序,reverse没申明就是默认升序。就是用nums(0到4)的值进行排序,根据这个结果返回的一个range(5)的数组。
根据PEP的规定,必须使用4个空格来表示每级缩进。
使用Tab字符和其它数目的空格虽然都可以编译通过,但不符合编码规范。支持Tab字符和其它数目的空格仅仅是为兼容很旧的的Python程序和某些有问题的编辑程序。
Python的函数支持递归、默认参数值、可变参数,但不支持函数重载。为了增强代码的可读性,可以在函数后书写“文档字符串”(Documentation Strings,或者简称docstrings),用于解释函数的作用、参数的类型与意义、返回值类型与取值范围等。可以使用内置函数help()打印出函数的使用帮助。
代码:
defnot_empty(s):
returnsandlen(s。strip())>0
#returnsands。strip()
#如果直接单写s。strip()那么s如果是None,会报错,因为None没有strip方法。
#如果s是None,那么Noneand任何值都是False,直接返回false
#如果s非None,那么判定s。trip()是否为空。
这样子filter能过滤到None,"",""这样的值。
分成两部分看。第一部分是对长度进行序列。相当于就是range(5)他的结果就是。01234。第二部分就是具体的排序规则。排序规则是用nums的值进行排序,reverse没申明就是默认升序。就是用nums(0到4)的值进行排序,根据这个结果返回的一个range(5)的数组。
数学运算
根据PEP的规定,必须使用4个空格来表示每级缩进。使用Tab字符和其它数目的空格虽然都可以编译通过,但不符合编码规范。支持Tab字符和其它数目的空格仅仅是为兼容很旧的的Python程序和某些有问题的编辑程序。
Python的函数支持递归、默认参数值、可变参数,但不支持函数重载。为了增强代码的可读性,可以在函数后书写“文档字符串”(Documentation Strings,或者简称docstrings),用于解释函数的作用、参数的类型与意义、返回值类型与取值范围等。可以使用内置函数help()打印出函数的使用帮助。
以上内容参考:百度百科-Python
代码:
defnot_empty(s):
returnsandlen(s。strip())>0
#returnsands。strip()
#如果直接单写s。strip()那么s如果是None,会报错,因为None没有strip方法。
#如果s是None,那么Noneand任何值都是False,直接返回false
#如果s非None,那么判定s。trip()是否为空。
这样子filter能过滤到None,"",""这样的值。
分成两部分看。第一部分是对长度进行序列。相当于就是range(5)他的结果就是。01234。第二部分就是具体的排序规则。
排序规则是用nums的值进行排序,reverse没申明就是默认升序。就是用nums(0到4)的值进行排序,根据这个结果返回的一个range(5)的数组。
PEP的规定:
必须使用4个空格来表示每级缩进。使用Tab字符和其它数目的空格虽然都可以编译通过,但不符合编码规范。支持Tab字符和其它数目的空格仅仅是为兼容很旧的的Python程序和某些有问题的编辑程序。
Python的函数支持递归、默认参数值、可变参数,但不支持函数重载。为了增强代码的可读性,可以在函数后书写“文档字符串”(Documentation Strings,或者简称docstrings)。
用于解释函数的作用、参数的类型与意义、返回值类型与取值范围等。可以使用内置函数help()打印出函数的使用帮助。
python语言基本语句有什么
python语句与语法1.python简单语句的基本介绍>>> while True: #简单的while循环... reply = input('Enter text:') #调用了Input,将输入传参给reply... if reply == 'stop': break #如果输入的是stop就退出循环... print(reply.upper()) #如果输入的不是stop就一直将输入的转换为大写字母...Enter text:abc #这是第一个输入abc,看到下面转换成大写的ABC了ABCEnter text:nihao123daNIHAO123DAEnter text:stop #这里输入了一个stop,然后循环就退出了>>>上面的代码利用了Python的while循环,它是Python最通用的循环语句。简单的说,它的组成为:while这个单词,之后跟一个其结果为真或假的表达式,再接一个当顶端测试为真(这时的True看做是永远为真)时不停的迭代的嵌套代码块。这个Input内置函数,在这里用于通过控制台输出,它打印可选的参数字符串作为提示,并返回用户输入的回复字符串。利用嵌套代码块特殊规则的单行if语句也在这里出现:if语句体出现在冒号之后的首行,而并不是在首行的下一行缩进。最后,Python的break语句用于立即退出循环。也就是完全跳出循环语句而程序会继续循环之后的部分。如果没有这个退出语句,while循环会因为测试总是真值而永远循环下去。>>> while True:... reply = input('Enter text:')... if reply == 'stop': #如果是stop就退出... break... elif not reply.isdigit(): #如果输入的不是数字类型就打印Bad1 8次... print('Bad!' * 8)... else: #否则就打印输入数字的2次方... print(int(reply) ** 2)... #按回车下面是测试结果Enter text:abcBad!Bad!Bad!Bad!Bad!Bad!Bad!Bad!Enter text:aBad!Bad!Bad!Bad!Bad!Bad!Bad!Bad!Enter text:24Enter text:stop>>>Python会执行首次测试为真所想匹的代码块,按照由上至下的顺序,如果所有测试都是假,就执行else部分。2.赋值、表达式和打印赋值语句有些特性要专门记住,如下所示赋值语句建立对象引用值,Python赋值语句会把对象引用值存储在变量名或数据结构的元素内。赋值语句总是建立对象的引用值,而不是赋值对象。因此,Python变量更像是指针,而不是数据存储区域。变量名在首次赋值时会被创建。Python会在首次将(即对象引用值)赋值给变量时创建其变量名。有些(并非全部)数据结构元素也会在赋值时创建(例如,字典中的元素,一些对象属性)。一旦赋值了,每当这个变量名出线在表达式时,就会被其所引用的值取代。变量名在引用前必须先赋值。使用尚未进行赋值的变量名是一种错误,如果你视图这么做,Python会引发异常,而不是返回某种模糊的默认值;如果返回默认值,就很难再程序中找出输入错误的地方。执行隐式赋值的一些操作,在Python中,赋值语句会在许多情况下使用。例如,模块导入、函数和类的定义、for循环变量以及函数参数全都是隐式赋值运算。>>> seq = [1,2,3,4]>>> a,b,c,*d = seq>>> print(a,b,c,d)1 2 3 [4]>>> L = [1,2,3,4]>>> while L:... front, *L = L... print(front,L)...1 [2, 3, 4]2 [3, 4]3 [4]4 []当使用一个带星号的名称的时候,左边的目标中的项数不需要与主题序列的长度匹配。实际上,带星号的名称可以出现在目标中的任何地方打印操作在python中,print语句可以实现打印--只是对程序员友好的标准输出流的接口而已。从技术角度来讲,这是把一个或多个对象转换为其文本表达形式,然后发送给标准输出或另一个类似文件的流。文件对象方法:例如file.write(str).打印操作是类似的,但更加专注--文件写入方法是把字符串写入到任意的文件,print默认地把对象打印到stdout流,添加了一些自动的格式化。和文件方法不同,在使用打印操作的时候,不需要把对象转换为字符串。标准输出流:标准输出流(通常叫做stdout)只是发送一个程序的文本输出的默认的地方。加上标准输入流和错误流,它只是脚本启动时所创建的3种数据连接中的一种。标准输出通常映射到启动Python程序的窗口,除非它已经在操作系统的shell中重定向到一个文件或管道。if测试和语法规则Python语法规则Python语法有些特性是我们需要知道的: 语句是逐个运行的:python一般都会按照次序从头到尾执行文件中嵌套块中的语句,但是像if(还有循环)这种语句会使得解释器在程序内跳跃。因为Python经过一个程序的路径叫做控制流程,像if这类会对其产生影响的语句,通常叫做控制流程语句。 块和语句的边界会自动检测。Python的程序块中没有大括号或“begin/end”等分隔字符;反之,Python使用首行下的语句缩进把嵌套块内的语句组合起来。同样地,Python语句一般是不以分号终止的,一行的末尾通常就是该行所写语句的结尾。复合语句=首行+“: ” + 缩进语句。Python中所有复合语句都遵循相同格式:首行会以冒号终止,再接一个或多个嵌套语句,而且通常都是在首行下缩进的。缩进语句叫做块(有时叫做组)。在If语句中,elif和else分句是if的一部分,也是其本身嵌套块的首行。 空白行、空格以及注释通常都会忽略。文件中空白行将忽略(但在交互模式提示符下不会)。语句和表达式中的空格几乎都忽略(除了在字符串常量内,以及用在缩进时)。注释总是忽略:它们以#字符开头(不是在字符串常量内),而且延伸至该行的末尾。 文档字符串(docstring)会忽略,但会保存并由工具显示。Python支持的另一种注释,叫做文档字符串(简称docsting)。和#注释不同的是,文档字符串会在运行时保留下来以便查看。文档字符串只是出现在程序文件和一些语句顶端的字符串中。Python会忽略这些内容,但是,在运行时会自动将其附加在对象上,而且能由 文档工具显示。while和for循环while语句是Python语言中最通用的迭代结构。>>> x = 'spam'>>> while x:... print(x,end='')... x = x[1:]...spampamamm>>>注意,这里使用end= ‘’关键字参数,使所有输出都出现在同一行,之间用空格隔开;在python中:break : 跳出最近所在的循环(跳过整个循环语句)continue : 跳到最近所在循环的开头处(来到循环的首行)pass:什么事也不做,只是空占位语句循环else块:只有当循环正常离开时才会执行(也就是没有碰到break语句)
10个极简python代码,拿走即用
Hello,大家好,我是程序汪小成~
虽然python是一个易入门的语言,但是很多人依然还是会问到底怎么样学 Python 才最快,答案当然是实战各种小项目, 只有自己去想与写,才记得住规则 。本文写的是 10 个极简任务,初学者可以尝试着自己实现;本文同样也是 10段代码,Python 开发者也可以看看是不是有没想到的用法。
以下方法可以检查给定列表是不是存在重复元素,它会使用 set() 函数来移除所有重复元素。
给定具体的大小,定义一个函数以按照这个大小切割列表。
这个方法可以将布尔型的值去掉,例如(False,None,0,“”),它使用 filter() 函数。
我们常用 For 循环来遍历某个列表,同样我们也能枚举列表的索引与值。
如下代码段可以将打包好的成对列表解开成两组不同的元组。
该方法将通过递归的方式将列表的嵌套展开为单个列表。
该方法将返回第一个列表的元素,且不在第二个列表内。如果同时要反馈第二个列表独有的元素,还需要加一句 set_b.difference(set_a)。
如下代码块可以用来计算执行特定代码所花费的时间。
该算法会打乱列表元素的顺序,它主要会通过 Fisher-Yates 算法对新列表进行排序:
不需要额外的操作就能交换两个变量的值。
以上,是我简单列举的十个python极简代码,拿走即用,希望对你有所帮助!
python简单的编程代码
输入两个数字,比较大小,然后按照大小输出
def cmpNum():
a = input("请输入一个数字:")
b = input("请输入一个数字:")
if a >= b:
print(a, b)
else:
print(b, a)
cmpNum()
结果一:
请输入一个数字:159
请输入一个数字:456
456 159
结果二:
请输入一个数字:9568
请输入一个数字:1452
9568 1452
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 pygameimport random#初始化pygame.init()W=800H=600ROW=30COL=40size=(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=Trueclock=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.col<0 or head.row<0 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)#收尾工作这是一个简易版贪吃蛇的代码,虽然结构简单,但是该有的功能都是完整的,可玩性也不错