python编程例子500行(python编程300例怎么样)

http://www.itjxue.com  2023-03-20 16:51  来源:未知  点击次数: 

鸡兔同笼python程序怎么写?

鸡兔同笼python程序编写要根据原书中的描述的:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”鸡兔同笼python程序具体写法如下:

把原文翻译成现代汉语是:“鸡和兔放在一个笼子里, 笼子里共有35个头,94个爪,那鸡和兔各有多少只?”

1、根据题意,头的总数为35,用变量head来记录头的总数:head =35。而腿的总数为94,用变量foot来记录腿的总数:(foot = 94)。

2、用变量chicken记录鸡的数量。因为头的总数为35,说明鸡和兔共有35只,所以鸡的数量是0-35之间的某一个数,这里用for循环来指挥计算机,自动罗列所有可能出现的情况:(for chicken in range(0, head+1):))。

3、然后,用变量rabbit记录兔子的数量。因为鸡和兔的总数等于头的数量,所以兔的数量rabbit等于头的总数head减去鸡的数量(chicken:rabbit=head一chicken)。

4、鸡有两条腿,兔子有四条腿,所以腿的总数为:(if chicken *2 + rabbit *4 == foot:print('鸡',chicken, '兔',rabbit))执行代码,就完成了。

python程序编写:

Python编程是一种跨平台的计算机程序设计语言,是ABC语言的替代品。Python能提供高效的高级数据结构,还能简单有效地面向对象编程。

是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。

求一个PYTHON案例

# 以下程序可能要安装OpenCV2.0(并编译好并配置好环境)以及Xvid解码器才能运行

# _*_coding: cp936_*_

import cv

capture = cv.CreateFileCapture("tmp.avi")

#请确保当前目录下有tmp.avi文件

fps = cv.GetCaptureProperty(capture, cv.CV_CAP_PROP_FPS)

totalFrameNumber =cv.GetCaptureProperty(capture, cv.CV_CAP_PROP_FRAME_COUNT)

frameWidth = cv.GetCaptureProperty(capture, cv.CV_CAP_PROP_FRAME_WIDTH)

frameHeight = cv.GetCaptureProperty(capture, cv.CV_CAP_PROP_FRAME_HEIGHT)

print fps, totalFrameNumber, frameWidth, frameHeight

frame = cv.QueryFrame(capture)

while frame:

cv.ShowImage('Title', frame)

frame = cv.QueryFrame(capture)

if cv.WaitKey(1000 / fps) == 27:# ESC键退出视频播放

cv.DestroyWindow('Title')

break

一个文件夹整理工具wxPython版本(不清楚软件用法情况下可以打开该软件看看界面但请不要使用里面的功能,后果自负。)

# -*- coding: cp936 -*-

# file:aa.py

import os, shutil, sys

import wx

sourceDir = ''

sourceFiles = ''

preWord = 0

def browse(event):

global sourceDir, textPreWord, textDirName

dialog = wx.DirDialog(None, u'选择待处理文件夹', style = wx.OPEN)

if dialog.ShowModal() == wx.ID_OK:

sourceDir = dialog.GetPath().strip('\"')

textDirName.SetLabel(sourceDir)

dialog.Destroy()

textPreWord.SetFocus()

def okRun(event):

global preWord, sourceDir, sourceFiles, textPreWord

preWord = int(textPreWord.GetValue())

if preWord = 0:

wx.MessageBox(u'请正确输入前缀字符个数!', u'出错啦', style = wx.ICON_ERROR | wx.OK)

textPreWord.SetFocus()

return

sourceDir = textDirName.GetValue()

sourceFiles = os.listdir(sourceDir)

for currentFile in sourceFiles:

tmp = currentFile

currentFile = sourceDir + '\\' + currentFile

currentFile = currentFile.strip('\"')

if os.path.isdir(currentFile):

continue

targetDir = '%s\\%s'%(sourceDir, tmp[:preWord])

if not os.path.exists(targetDir):

os.mkdir(targetDir)

shutil.move(currentFile, targetDir)

wx.MessageBox(u'任务完成!', u'好消息', style = wx.ICON_ERROR | wx.OK)

def onChange(event):

global dir1, textDirName

p = dir1.GetPath()

textDirName.SetLabel(p)

app = wx.App(0)

win = wx.Frame(None, title = u'文件整理', size = (400, 450))

bg = wx.Panel(win)

btnBrowse = wx.Button(bg, label = u'浏览')

btnBrowse.Bind(wx.EVT_BUTTON, browse)

btnRun = wx.Button(bg, label = u'整理')

btnRun.Bind(wx.EVT_BUTTON, okRun)

dir1 = wx.GenericDirCtrl(bg, -1, dir='', style=wx.DIRCTRL_DIR_ONLY)

tree = dir1.GetTreeCtrl()

dir1.Bind(wx.wx.EVT_TREE_SEL_CHANGED, onChange, id = tree.GetId())

textPreWord = wx.TextCtrl(bg)

textDirName = wx.TextCtrl(bg)

textPreWord.SetFocus()

class MyFileDropTarget(wx.FileDropTarget):#声明释放到的目标

def __init__(self, window):

wx.FileDropTarget.__init__(self)

self.window = window

def OnDropFiles(self, x, y, filenames):#释放文件处理函数数据

for name in filenames:

if not os.path.isdir(name):

wx.MessageBox(u'只能选择文件夹!', '出错啦', style = wx.ICON_ERROR | wx.OK)

return

self.window.SetValue(name)

dt = MyFileDropTarget(textDirName)

textDirName.SetDropTarget(dt)

hbox0 = wx.BoxSizer()

hbox0.Add(dir1, proportion = 1, flag = wx.EXPAND | wx.ALL, border = 5)

hbox1 = wx.BoxSizer()

hbox1.Add(textDirName, proportion = 1, flag = wx.EXPAND, border = 5)

hbox1.Add(btnBrowse, proportion = 0, flag = wx.LEFT, border = 5)

hbox2 = wx.BoxSizer()

hbox2.Add(textPreWord, proportion = 1, flag = wx.EXPAND, border = 5)

hbox2.Add(btnRun, proportion = 0, flag = wx.LEFT, border = 5)

vbox = wx.BoxSizer(wx.VERTICAL)

vbox.Add(hbox0, proportion = 1, flag = wx.EXPAND | wx.ALL, border = 5)

vbox.Add(wx.StaticText(bg, -1, u'\n 选择待处理文件夹路径:'))

vbox.Add(hbox1, proportion = 0, flag = wx.EXPAND | wx.ALL, border = 5)

vbox.Add(wx.StaticText(bg, -1, u'\n\n 前缀字符个数:'))

vbox.Add(hbox2, proportion = 0, flag = wx.EXPAND | wx.ALL, border = 5)

vbox.Add(wx.StaticText(bg, -1, u'\n'))

bg.SetSizer(vbox)

win.Center()

win.Show()

app.MainLoop()

#py2exe打包代码如下:

from distutils.core import setup

import py2exe

setup(windows=["aa.py"])

打包好了之后有18Mb。

一个文件内容批量替换摸查器(wxPython版本):

# _*_ coding:cp936 _*_

from string import join, split

import os

import wx

def getAllFiles(adir):

tmp = []

for parent, dirs, files in os.walk(adir):

for afile in files:

tmp.append(os.path.join(parent, afile))

return tmp

def browse(event):

dialog = wx.DirDialog(None, '选择待处理文件夹', style=wx.OPEN)

if dialog.ShowModal() == wx.ID_OK:

aDir = dialog.GetPath()

textDir.SetLabel(aDir)

dialog.Destroy()

def check():

promp.SetForegroundColour('#FF0000')

promp.SetLabel(' 搜索中...')

listFound.ClearAll()

tmp = []

files = getAllFiles(textDir.GetValue())

for filename in files:

try:

afile = open(filename, 'r')

except IOError:

print '打开文件错误。'

continue

try:

content = afile.read().decode('utf-8')

afile.close()

except:

try:

afile = open(filename, 'r')

content = afile.read().decode('cp936')

afile.close()

except:

continue

if textNeedChar.GetValue() in content:

tmp.append(filename)

listFound.InsertStringItem(0, filename)

parentDir.SetForegroundColour('#FF0000')

# parentDir.SetLabel(' 正在搜索:'+filename)

return tmp

def onFind(event):

check()

parentDir.SetLabel(' 搜索结果:')

promp.SetLabel(' 任务完成。')

wx.MessageBox(listFound.GetItemCount() and '任务完成,找到%d个文件。' % listFound.GetItemCount()

or '未找到包含"%s"的文件!' % textNeedChar.GetValue().encode('cp936'), '查找结束',

style=wx.ICON_INFORMATION | wx.OK)

def onReplace(event):

dg = wx.TextEntryDialog(bg, '替换成:', '提示', style=wx.OK | wx.CANCEL)

if dg.ShowModal() != wx.ID_OK:

return

files = check()

userWord = dg.GetValue()

#if not userWord:

#wx.MessageBox('请输入要替换为何字!', style=wx.ICON_ERROR | wx.OK)

#onReplace(event)

#return

for filename in files:

try:

afile = open(filename, 'r')

except IOError:

print '打开文件错误。'

continue

try:

content = afile.read().decode('utf-8')

afile.close()

except:

try:

afile = open(filename, 'r')

content = afile.read().decode('cp936')

afile.close()

except IOError:

print '打开文件错误。'

continue

content = content.replace(textNeedChar.GetValue(), userWord)

try:

content = content.encode('utf-8')

except:

pass

open(filename, 'w').write(content)

parentDir.SetLabel(' 替换的文件:')

promp.SetLabel(' 任务完成。')

wx.MessageBox(listFound.GetItemCount() and '任务完成,替换了%d个文件。' % listFound.GetItemCount()

or '未找到包含"%s"的文件!' % textNeedChar.GetValue().encode('cp936'), '替换结束', style=wx.ICON_INFORMATION | wx.OK)

app = wx.App(0)

win = wx.Frame(None, title='文件整理', size=(400, 450))

bg = wx.Panel(win)

btnBrowse = wx.Button(bg, label='浏览')

btnBrowse.Bind(wx.EVT_BUTTON, browse)

btnFind = wx.Button(bg, label='查找')

btnFind.Bind(wx.EVT_BUTTON, onFind)

btnFind.SetDefault()

btnReplace = wx.Button(bg, label='替换')

btnReplace.Bind(wx.EVT_BUTTON, onReplace)

textNeedChar = wx.TextCtrl(bg, value='你好')

textDir = wx.TextCtrl(bg, value='E:\Workspace\Python\Python\e')

parentDir = wx.StaticText(bg)

promp = wx.StaticText(bg)

listFound = wx.ListCtrl(bg, style=wx.VERTICAL)

class MyFileDropTarget(wx.FileDropTarget):#声明释放到的目标

def __init__(self, window):

wx.FileDropTarget.__init__(self)

self.window = window

def OnDropFiles(self, x, y, filenames):#释放文件处理函数数据

for name in filenames:

'''if not os.path.isdir(name):

wx.MessageBox('只能选择文件夹!', '出错啦', style=wx.ICON_ERROR | wx.OK)

return '''

self.window.SetValue(name)

dt = MyFileDropTarget(textDir)

textDir.SetDropTarget(dt)

hbox1 = wx.BoxSizer()

hbox1.Add(textDir, proportion=1, flag=wx.EXPAND, border=5)

hbox1.Add(btnBrowse, proportion=0, flag=wx.LEFT, border=5)

hbox2 = wx.BoxSizer()

hbox2.Add(textNeedChar, proportion=1, flag=wx.EXPAND, border=5)

hbox2.Add(btnFind, proportion=0, flag=wx.LEFT, border=5)

hbox2.Add(btnReplace, proportion=0, flag=wx.LEFT, border=5)

vbox = wx.BoxSizer(wx.VERTICAL)

vbox.Add(wx.StaticText(bg, -1, '\n 选择待处理文件夹(可拖动文件夹到下面区域中):'))

vbox.Add(hbox1, proportion=0, flag=wx.EXPAND | wx.ALL, border=5)

vbox.Add(wx.StaticText(bg, -1, '\n\n 要替换 / 查找的文字:'))

vbox.Add(hbox2, proportion=0, flag=wx.EXPAND | wx.ALL, border=5)

vbox.Add(promp, proportion=0, flag=wx.EXPAND | wx.ALL, border=5)

vbox.Add(parentDir, proportion=0, flag=wx.EXPAND | wx.ALL, border=5)

vbox.Add(listFound, proportion=1,

flag=wx.EXPAND | wx.LEFT | wx.BOTTOM | wx.RIGHT, border=5)

bg.SetSizer(vbox)

win.Center()

win.Show()

app.MainLoop()

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语言利用缩进表示语句块的开始和退出,而非使用花括号或者某种关键字。增加缩进表示语句块的开始,而减少缩进则表示语句块的退出,缩进成为了语法的一部分。

Python入门编程(1)变量

在开始本次的学习之前,我们先运行一下Test1.py。程序输出了 helloworld ,下面我们再进行一些更深入的思考,当这个文件被运行时,Python都做了些什么。

Test1.py

在运行这个文件时,它的 .py 后缀说明这是一个Python程序,因此 编译器 会使用 Python解释器 来运行它。接着解释器会读取整个程序,并且确认其中每个单词的含义。比如在这个程序中解释器遇到了 print() 这个单词,它便会把括号内的内容打印出来,而不管括号里面是什么。

在你编写程序时,编译器在会把程序中每个不同的不同用不同的颜色显示。比如 :

print (" helloworld ")

这种非常实用的方法叫做 语法突出 。

以上这些内容只是需要进行理解即可,接下来的内容我们便需要认真学习了。

让我们对 Test1.py 稍加修改,在这个程序中加入一个变量 sentence , 并且对print函数内的内容稍加修改,以便于让我们更好的认识变量。

通过这个程序的运行结果我们可见,修改之后的程序与先前的程序输出相同。在这里我们添加了一个名为 sentence 的变量,可知:

每个变量都储存了一个对应的值,这个值就是与变量相关联的信息。

现在我们对这个程序再加一点点的修改:

此时可以看出,同一个变量进行了两次不同的输出,这便是:

你可以随时在程序中修改变量的值,并且Python将变量的最新值记录下来。

程序员几乎每天都会犯错,下面这是一种我们初学阶段很有可能反的错误,下面我们来了解并学习如何解决它。

我们来看看这个新的程序。

Test2.py

在程序出现错误时,编译器无法对其进行下一步编译,此时编译器便会返回给我们一个 Traceback 。其是一条记录,它会解释器在运行代码时在哪里陷入困境,以上我提供的便是变量名拼写错误所被提供的 Traceback 。

编译器已经指出,在我运行Test2.py这个程序时,我们想输出的变量 sentece 并未被定义,程序无法找到识别我所提供的变量名。

名称错误的两种情况:1.在使用变量前未给变量赋值。2.变量名拼写错误。

在我这个提供的例子中,我们只需要将 sentece 修改为 sentence 便可以使程序正确运行了。

在创建程序中的变量名和编写代码时不必遵循英语的语法与拼写规则。

其实绝大多数的报错无非是在程序的某一行多写或少写一个字符,或是一些逻辑性的错误。在阅读Traceback以及寻找解决这些Bug的方法时我们应当 耐心 和 冷静 。这样会提升你解决问题的速度。

本次的文章对变量进行了初步的认识与学习,在接下来的文章中,我们将对更多Python中的相关知识进行阐述与学习。

本次的文章就先写到这里,下次我们将会进行对 数据类型 的学习。

python好学吗? 语法简单吗? 举个例子?

pythonPython (发音:[ 'paiθ()n; (US) 'paiθn ]n.蟒蛇,巨蛇 ),是一种面向对象的解释性的计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。Python 具有脚本语言中最丰富和强大的类库,足以支持绝大多数日常应用。简单————Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格!Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。易学————就如同你即将看到的一样,Python极其容易上手。前面已经提到了,Python有极其简单的语法。可移植性————由于它的开源本质,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!解释性————这一点需要一些解释。一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码 运行 程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单。由于你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的Python程序更加易于移植。面向对象————Python即支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。可扩展性————如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。可嵌入性————你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。丰富的库————Python标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。记住,只要安装了Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。概括————Python确实是一种十分精彩又强大的语言。

(责任编辑:IT教学网)

更多

推荐Oracle文章