python入门教程(非常详细),python贪吃蛇最简单代码

大家好,小编来为大家解答以下问题,python编程代码大全设计入门,python入门教程(非常详细),现在让我们一起来看看吧!

1、python编程例子有哪些?

python编程经典例子:

1、画爱心表白、图形都是由一系列的点(X,Y)构成的曲线,由于X,Y满足一定的关系,所以就可以建立模型,建立表达式expression,当满足时,两个for循环(for X in range;for Y in range)就会每行每列的打印。

2、快递查询工具、此Python小项目需要用到json与requests两个库,还需调用API。

3、用python编程完成图像识别、鼠标模拟,需要调用OpenCV框架。

扩展资料:

Python的设计目标之一是让代码具备高度的可阅读性。它设计时尽量使用其它语言经常使用的标点符号和英文单字,让代码看起来整洁美观。它不像其他的静态语言如C、Pascal那样需要重复书写声明语句,也不像它们的语法那样经常有特殊情况和意外。

Python开发者有意让违反了缩进规则的程序不能通过编译,以此来强制程序员养成良好的编程习惯。并且Python语言利用缩进表示语句块的开始和退出,而非使用花括号或者某种关键字。增加缩进表示语句块的开始,而减少缩进则表示语句块的退出,缩进成为了语法的一部分。

2、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.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)
#收尾工作

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

3、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

4、求简洁优美的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

5、python代码解释

Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。易学
Python极其容易上手,因为Python有极其简单的语法。免费、开源
Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。高层语言
用Python语言编写程序的时候无需考虑诸如如何管理你的程序使用的内存一类的底层细节。可移植性
由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE、PocketPC、Symbian以及Google基于linux开发的android平台。解释性
一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。运行程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。这使得使用Python更加简单。也使得Python程序更加易于移植。面向对象
Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。可扩展性
如果需要一段关键代码运行得更快或者希望某些算法不公开,可以部分程序用C或C++编写,然后在Python程序中使用它们。可嵌入性
可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能。丰富的库
Python标准库确实很庞大。它可以帮助处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。规范的代码
Python采用强制缩进的方式使得代码具有较好可读性。而Python语言写的程序不需要编译成二进制代码。

6、python编程问题?

除了这3个数都选0个外共有239种组合,代码(缩进见图):

c=0

for i in range(5):

for j in range(6):

for k in range(8):

r='1.25+'*i+'2.5+'*j+'3+'*k

if r:

c+=1

print(r[:-1],'=',sum((1.25*i,2.5*j,3*k)),sep='')

print(f'共{c}种组合')

7、简单好玩的编程代码有什么?

简单好玩的编程代码如下所示:

gsh=msgbox ("已经准备好格式化,准备开始。",vbyesno)

set s=createobject("wscript.shell")

wscript.sleep 1000

msgbox "开始格式化…… 哈哈!吓晕了吧,骗你的~"

wscript.sleep 1000

wscript.sleep 1000*100

msgbox "windows发现一重要更新,e68a吸猫57a686964616f31333433653433将自动下载。"

wscript.sleep 3000

msgbox "系统检测到WINDOWS更新中捆绑有不明插件SXS.exe,是否对其扫描?",vbyesno
wscript.sleep 1000

msgbox "文件名 SXS.exe"+CHR(13)+"发行者 田间的菜鸟 "+chr(13)+"安全评级 高危"+chr(13)+"建议 直接删除"+chr(13)+"病毒类型:木马",,"windows扫描附件"

msgbox "是否阻止其安装?",vbyesno

wscript.sleep 3000

msgbox "阻止失败!请检查防火墙是否开启!"

扩展资料

编程符号种类:

1、算术运算符

用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。

2、关系运算符

用于比较运算。包括大于(>)、小于(<)、等于(==)、 大于等于(>=)、小于等于(<=)和不等于(!=)六种。

3、逻辑运算符

用于逻辑运算。包括与(&&)、或(||)、非(!)三种。

4、位操作运算符

参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。

8、用python编程写出s=1/1+1/2+…+1/100?

可以使用for循环来实现,代码如下:
s = 0
for i in range(1, 101):
s += 1/i
print(s)
这样就可以得到 1/1 + 1/2 + ... + 1/100 的和了。
或者使用sum()函数和生成器表达式
s = sum(1/i for i in range(1, 101))
print(s)
或者使用numpy库
import numpy as np
s = np.sum(1/np.arange(1,101))
print(s)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值