已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python初级教程索引:第一课.前言 第十课.if语句第二课.Py开发工具的准备 第十一课.让你的手机自动说话第三课.如何编写代码 第十二课.for循环语句第四课.模块的加载 第十三课上.编程思路及表白打字机第五课.文本界面 第十四课.异常捕获及多元输入框第六课.自定义函数 第十五课.创建Py程序安装包(S60v3)第七课.创建菜单 第十六课.列表界面第八课.变量 第十七课.图标列表第九课.运算符 第十八课.给学员的一些话!前言同学们好,前言是每个教程基本都有的东西,我也不能免俗.学Py,其实也不用什么英语知识的,如果你老是想着“我不会英语,不能学编程”,那么我告诉你,你错了!你一点自信心都没有,又怎么能学好东西!编程的函数、语法都是死的,就像import、appuifw等,如果你记住以后,你觉得你还需要英语基础吗?有英语知识固然很好,学得也会比较快,但这并不影响大家的学习!没有基础的同学,我建议你把所学到的函数、语法、用法,都记下来,方便你以后的调用和查看!熟能生巧,没事时多看两遍,多写两遍,自然也就熟悉了!今天开始请同学们跟着我来学习一下Python开发,接触Py已经2个多月了,开始我也是一无所知,经过无数个夜晚的努力以后,总算积累了一些经验。很多机友应该很想提高一下玩机水平,写出个自己的软件。由于我也是新手上路,了解新手刚开始学习时的难处,所以写的内容都是比较倾重于新手的入门,也请各位不要嫌我啰嗦!每个人的学习方法不一,寻求一种最适合自己的学习方法可以达到事半功倍的效果!我会的也不多,写教程只是方便帮助其他新手的学习!让更多的人加入Py开发这个大家庭里面!Py不同于C语言,Py的语句更好懂,更好理解,基本上会英语的都可以很快的学习Py,不会英语的人也不用灰心,现在的翻译软件那么多,不用担心不理解的!我也是靠翻译软件学过来的,推荐大家使用谷歌翻译!要学习一样东西就要先对这个东西着迷,这样可以提高自己的耐心及对这个东西的兴趣,有利于帮助你个人的学习。多看别人代码,了解别人的编程思路学Py之前需要准备的几件事:1.有相信自己能学会的信心及每天两个小时以上的空闲时间(尽量多抽时间学习)2.有一部能安装和运行py平台的手机3.如果你是才玩智能手机,对智能手机最基本的东西(例如,用文件管理器删除软件,怎么打标点符号,等等)还不太了解的话,建议您还是先学会基本的再来,所以,如果您在跟随本教程学习的时候对您的手机产生什么影响的话,还请不要怪我。Py开发工具的准备要学py编程就一定要有工具吧!学Py的工具提示是不用太多的,只需要两个就够了,一个是整合版的Py平台,另一个是PED,其他的相关软件都是后期使用的,我们作为前期的学习根本不需要那么多的软件在学习Py开发之前,如过没有汉化基础的学员,我建议先学习下汉化知识,能单独汉化几个软件出来,了解下软件的基本知识,这样对你学习Py开发会很多帮助的!嘻嘻,够废话的,本文档教程已经附带了工具包,大家可以到里面找找找到对应你平台的版本复制到手机里面安装如何编写代码学py以前需要先把工具和和平台安装好,安装好了以后才可以进行我们的py学习在学习编程的时候特别需要注意的一件事就是代码的写法,大小写,全角符和半角符是有区分的,千万注意不要弄错了,有时候程序无法运行很多原因都是大小写或符号写错了!编程里需要用英文的符号,不能使用中文的符号,这点要切记,只有在输出的时候才能使用中文,另外一个就是换行符了,一条语句没有结束之前不要换行,因为我们才刚开始学习,很多用法需要深入以后才会知道,所以我们前期也就先跟着做就好了推荐大家一个小方法,先不要着急着如果编程序出来,你先把初级教程全部都先瞄一篇,再回来第一课,这样你会更快地理解我说讲的内容!我们现在先来编写一个简单的程序,一般编程的教程都是从这里开始的,我也不能免俗!请看代码:import appuifw appuifw.note(,info) -代码结束-现在我们来讲解一下这段代码的意思,好让大家都尽快理解。import appuifw 这条代码是载入模块的意思。格式是import 模块名意思就是说要把什么模块载入到系统中,因为我们要使用模块的时候就需要先把模块载入,其他的载入方法我下次会讲解!在这里,appuifw 就是我们要载入的模块了。appuifw.note(,info)这条代码是使用模块的函数!在编程里面,一个函数就是一个功能,不管这个功能是否强大,都是有它的作用的。一个大型的软件都是靠这些函数一条一条地组合起来的。这条代码的用法是模块.函数(参数)上面的appuifw.note是使用appuifw模块中的note函数。(,info)是note函数所对应的参数第一个参数中的u是表示u码的意思,双引号中间的内容是要输出的字符,现在只能输出英文,如果想要输出中文的话就要先定义中文的编码。第二个参数info是表示这个函数是一个什么类型,info是信息的意思,也可以是error(提示一个错误图标)和conf(提示一个正确图标),我们这里可以理解为:这条函数输出一个信息类型的提示,提示的内容是上面看完以后我们就可以先来尝试做我们的第一个小程序了,我们需要用到一个叫ped的程序,我提供的开发工具包里面有附带(除了第一版)打开ped以后就新建一个Python源码文件,然后把我们上面的源码输入到源码文件内(请尽量手动输入,以便自己更加熟悉),之后点运行就可以了 运行成功了吗?成功的话就恭喜你了,你的第一个程序产生了!模块的加载这一节我们讲解下模块的加载,模块的加载有3种方法,基本加载法、快速调用加载法、引入加载法,每种方法都各有它的好处,大家掌握到一定程度的时候就都能明白了!学编程,基础尤为重要,大家切记不可忽视简单的基础!模块是什么,这个可能很多朋友都不理解,我通俗点给大家比喻一下吧!Py的功能很多,也很强大,学过其他编程语言的朋友应该知道,模块就像头文件一样Py的功能很多都被写到模块里面了,我们只需要调用模块就可以很方便的应用了!通俗的理解就是把Py编程比如成人,模块比喻成包袱,函数比喻成馒头比如我们要加载模块里面的某个函数,我们可以理解为我要吃Py编程包袱里面的馒头要吃馒头(调用函数)就必须先打开包袱(加载)-基本的加载方法:import aaaaaa.bbb()如:import appuifwappuifw.note()这种加载方法最普遍,也是最简单和最基本的,他的意思是这么理解:import : 这条语句是加载的意思,写完后要带上空格,说明语句结束了aaa : 这里的aaa表示要加载的模块名,模块一般存放在py目录下的lib文件夹,你想用到什么模块我们就加载什么模块,模块的名称就是模块的文件名,但不包括后缀bbb : 这里的bbb表示要使用的函数,一般是 模块名.函数() 意思是加载aaa模块里面的bbb函数,不知大家看到没有,函数后面还带了个括号,这个括号表示什么呢?括号的主要功能是表示函数的参数的,没有参数的函数直接( )就可以了,有参数的函数就要在括号内加入参数了,这个以后会说明!例子:可参考第3节的如何编写代码-快速调用加载法:import aaa as yuyu.bbb()如:import appuifw as auwauw.note()这两条语句可以这么理解:aaa : 模块名as : 定义所使用到的语句,加入as是让程序中的你要定义yu : 被定义的名称,就是你想把前面的模块定义成什么名称yu.bbb() : 用法,以前是用模块名,现在我们已经定义了该模块的名称,所以直接用名称就可以了为什么叫快速调用加载法呢?因为我们把繁琐的模块名换成了自定义的名称,这样调用起来,好记,快速,方便!不用每次都加载那么长的模块名其它用法和基本加载法相同例子:import appuifw as yuyu.note(u*,info)-代码结束-引入加载法 :from aaa import *bbb()如:from appuifw import *note()引入加载就是把函数先引过来,不用每次都输入,但是这样的加载方式比较容易出错,使用时需要特别注意,避免出错,建议等Py开发知识掌握到一定基础后在使用这种加载法from : 这是引入模块所使用到的语句,写完后带上空格,说明我这句结束了import : 上面已经讲解,不懂的同学请返回文章开头在研究一下* : 这里的“*”是什么意思呢?这里的“*”是全部的意思,整条语句加起来就是:引入aaa模块,加载模块内的全部函数bbb() : 这里的bbb函数为什么直接写呢?因为我们这里使用的是引入加载,这种加载方法的好处上面已经说了我们已经把模块内的函数都引进来了,所以这里就不需要在用 aaa.bbb()了,直接bbb()就行了,可以省去每次都写aaa.的时间例子:from appuifw import *note(u*,info)-代码结束-引入加载还有另一种方法from aaa import bbbbbb()如:from appuifw import notenote()这里的意思就是引入aaa模块,加载aaa模块内的bbb函数,这样就可以用bbb函数了!这种方法的好处就是节省运行内存,大家试想一下,加载所有函数用的内存大还是加载一条函数用的内存大不过不建议使用,因为加载第二条的时候会显得更麻烦,只有在只用一个函数的时候才会变得好用!这个语法的其他用法同上例子:from appuifw import notenote(u*,info)-代码结束-给各位学员一条忠告:你想学得快,掌握得快的,建议看完以后还要能默写出来,而不是用复制的文本界面这一节我们来学习一下文本界面,废话我也就不多说了,前两节已经说了很多了!请看代码:import appuifwappuifw.app.body=m=appuifw.Text()m.set(upy.t.*n)m.add(uI love lexunn)from e32 import Ao_locklock=Ao_lock()appuifw.app.exit_key_handler=lock.signallock.wait()-代码结束-import appuifw 看过上一节的人都知道这是载入的代码了,如果你需要载入了两个模块,可以加上逗号区分开来。如:import appuifw,e32这里的意思就是载入appuifw模块和e32模块appuifw.app.body = m = appuifw.Text()这条语法就有点长了,不过也很好理解的,总体的意思就是设置程序界面为文本界面中间的m其实是为了方便以后的调用才这样写的,我们现在就来解析一下这条语法的原理:首先要大家切记一点,编程里面的“=”不是等于号来的,是赋值符号,比如:“a=2”这个就表示把“2”赋值给“a”,这时,“a”就变成了“2”,不知道大家理解了没有呢!不理解的朋友先记住就好,具体的我们后面会讲到,很好理解的开始解释:现在我们知道了赋值,再来理解上面的语法的话就方便多了,他的写法可以变成这样:m = appuifw.Text()appuifw.app.body = m大家看出什么来了没有呢?你是不是觉得还可以更简单呢?比如:appuifw.app.body = appuifw.Text()这就是编程的简化代码了!但是因为我们后面会经常用到“appuifw.Text()”,所以我们赋值给“m”,这样我们以后只需要调用“m”就可以了,这样是不是很方便呢!上面的都学会了,下面的语法就更加简单了!大家继续:m.set( n)m.set是向文本界面设置文本,设置后原先的文本会被替换!set是设置的意思,m是什么意思相信不用我在解释了,不懂了在继续看上面!m.add是向文本界面添加文本,添加文本是在原来文本的基础上进行添加,大家自己写一下就知道了!n是换行的意思大家可以试试先添加,在设置或先设置在添加,对比一下就明白了!from e32 import Ao_locklock=Ao_lock()appuifw.app.exit_key_handler=lock.signallock.wait()这几条语法是锁定线程和关联右键菜单的意思,大家不需要那么快理解这个按右键即可返回ped,制作成独立软件时记住要删除以上附加的语句。这样可以解决线程无响应的问题因为PED运行代码以后会一闪而过,所以我加入这条语法来锁住它自定义函数前面的知识相信大家也应该已经掌握了,现在我在废些话,希望同学们不要丢我转头,学Py,其实也不用什么英语知识的,如果你老是想着“我不会英语,不能学编程”,那么我告诉你,你错了!你一点自信心都没有,又怎么能学好东西!编程的函数、语法都是死的,就像import、appuifw等,如果你记住以后,你觉得你还需要英语基础吗?有英语知识固然很好,学得也会比较快,但这并不影响大家的学习!没有基础的同学,我建议你把所学到的函数、语法、用法,都记下来,方便你以后的调用和查看!熟能生巧,没事时多看两遍,多写两遍,自然也就熟悉了!好了,废话也就这么多了,先教大家自定义函数!下载.lrc的文件就是以下代码,后缀改.py代码:import appuifwdef cn(x):return x.decode(utf-8)appuifw.note(cn(你好,乐讯),info)-代码结束-现在我们来解释下这条语法“def”这是Py函数的定义方法,作用是定义一个函数,也就是告诉程序我要定义一个什么函数出来!“cn(x)”这是定义的函数,定义函数的时候需要加入括号“( )”,“( )”里面是表示这个函数的参数,可以用变量,也可以为空,我们这里的变量“x”就是这个函数的参数,这个参数的作用就是获得用户输入的数据,是为我们后面的调用而创建的,请接着往下看“:”这个符号表示这个函数定义完了,“:”后面的内容就是调用这个函数时要做什么的代码,也就是函数的功能“return”这个语法是返回的意思,就是把什么东西作为这个函数的返回值,通俗点就是:我跟你说什么,你要回答什么。这里的回答就是返回的内容“x.decode(utf-8)”这个语法的意思是将“x”从“utf-8”的编码解密为Unicode编码,因为我们的脚本是使用“utf-8”编码保存的,因为Py只能输出Unicode编码,所以我们才用到了解码!关于什么是编码,如何理解编码就需要有一点汉化的知识了“#”号在源码里代表注释,表示这一行#号后面的东西都不是源码,都只是注释,不会加到程序里面去appuifw.note(cn(你好,乐讯),info)这是输出解码后的中文,后面是用info(信息)的提示方式这个提示方式还可以是error(错误)、conf(正确)这个语法的其他意思相信不用我说了吧!现在我们来讲下这段代码的总体意思,这样同学们会更好记意思:首先开始加载appuifw模块定义一个叫cn()的函数,这个cn()的参数是x,这个x是用户要输入的东西将x解码后的内容返回回去!把解密后的内容作为info的提示信息显示出来-结束-讲到这里我都觉得我好啰嗦了,不过为了同学们能更快的掌握Py,我觉得啰嗦一点还是值得的! 创建菜单我们这一节来讲讲如何创建左键菜单!创建菜单很简单的,创建完了我在教大家怎么使用这些菜单 代码:import appuifwdef cn(x):return x.decode(utf-8)def menu1():*appuifw.note(cn(乐讯Py论坛),info)def exit():*appuifw.note(cn(我是退出),info)*appuifw.app.set_exit()appuifw.app.menu=(cn(菜单一),menu1),(cn(退出),exit)from e32 import Ao_locklock=Ao_lock()appuifw.app.exit_key_handler=lock.signallock.wait()-代码结束-因为使用空格可能会被同学们忽略,所以我讲的代码都会用“*”号代替4个空格,希望同学们注意这点!运行代码时替换一下上面就是创建左键菜单并关联菜单事件的方法了,现在我在给大家分析一下这段函数的意思!说过的语法我就不说了,我现在给大家讲讲我们没有学到的!在学习之前先和大家讲下“缩进”,“缩进”的意思就是把右侧的代码缩到上一行去,在Py里面,你不使用缩进就换行的话,程序会认为那是一段新的代码,所以很多人就经常会在这里出现错误,一般我们使用的缩进都是用4个空格代替的,这已经成为了一个比较标准的写法了!用PED写代码的时候,如果遇到需要缩进的代码,按下确定以后会自动缩进!对比以下两段代码,相信你一定能够快速的理解缩进是什么了!代码:def cn(x):return x.decode(utf-8)代码二:def cn(x):*return x.decode(utf-8)-代码结束-第二段代码和第一段代码的作用是一样的,因为第二段代码使用了缩进,经过缩进以后也就变成了第一段代码的样子,“*”号代表4个空格相信大家应该了解缩进是什么了,下面我们就来开始解析新学习到的函数:def menu1():*appuifw.note(cn(乐讯Py论坛),info)定义一个menu1的函数,这个函数没有参数,函数的作用是:提示信息“乐讯Py论坛”def exit():*appuifw.note(cn(我是退出),info)*appuifw.app.set_exit()定义一个exit函数,这个函数没有参数,函数的作用是:提示信息“我是退出”,然后执行退出程序!appuifw.app.set_exit()这个就是退出程序的语法!appuifw.app.menu=(cn(菜单一),menu1),(cn(退出),exit)这个是创建菜单的方法,它的用法比较简单appuifw.app.menu=(菜单名,动作),(菜单名,动作)如果你还想继续增加菜单的话,之后把(菜单名,动作)在添加进去就可以了,记得加上逗号,这样就变成了appuifw.app.menu=(菜单名,动作),(菜单名,动作),(菜单名,动作)因为我们是通过菜单来调用函数,所以函数一般都要先定义!好了,菜单部分已经讲完了,不知道大家理解了这个程序的作用没有呢,我在讲一遍,大家看看是不是和我想的一样呢?这个程序的作用是:当点击“菜单一”的时候就调用预先定义的menu1函数,这个函数的作用是提示一条信息当点击“退出”的时候就调用预先定义的exit函数,这个函数的作品是提示一条信息,然后退出!大家还不理解的话就把代码复制进PED运行一下,多玩两遍,很好理解的!还不懂的话在问我吧!上面讲的是一级的菜单,我们还可以做二级菜单,用法都是非常简单的,只要在动作的地方在添加一个菜单就可以了!注意要加括号,就像下面这样:appuifw.app.menu=(菜单名,(菜单名,动作),(菜单名,动作),(菜单名,动作)代码:import appuifwdef cn(x):return x.decode(utf-8)def menu1():*appuifw.note(cn(我是二级菜单1),info)def menu2():*appuifw.note(cn(我是二级菜单2),info)def exit():*appuifw.note(cn(我是退出),info)*appuifw.app.set_exit()appuifw.app.menu=(cn(一级菜单),(cn(二级菜单1),menu1),(cn(二级菜单2),menu2),(cn(退出),exit)from e32 import Ao_locklock=Ao_lock()appuifw.app.exit_key_handler=lock.signallock.wait()-代码结束-变量 同学们好,上一节的知识不知道大家记住了没有,如果没有记住的希望你继续牢固一下,牢固完了在接着学习,我们这一节来学习“变量”!我的教程比较趋向基础,因为编程里面基础是尤为重要的,如果你不掌握基础,是很难编写一个好软件的!好软件的定义就是思路完整、功能完善、用最少的代码、最节省的运行方式编写程序!在写这篇教程以前,我参考了很多高手的教程,在此对高手们表示感谢!什么是变量呢?变量跟数学一样,比如:A=2+3这里的A就是变量,然后把2+3的结果赋值给A,这样A就变成了5,变量能跟随数值的变化而变化!变量的作用是为了方便编程人员的输入输出而产生的!变量如何定义Py与许多变成语言不同,Py的变量定义不需要声明,直接赋值就可以了,请看代码:a=1 #赋值b=a+2 #将a+2的结果赋值给bc=print b #打印bprint c #打印c-代码结束-上面的代码就是简单的变量赋值了把数值1赋值给a将a+2的结果赋值给b,这样b就是3了将字符串赋值给c,Py里面,用双引号表示的就是字符串打印b和打印c,前面可能没有说到print ,这个函数的作用是在控制台打印数据注意:在编程里面,=号不是等于号,而是赋值符号,编程里面的等于号是=在你的程序中,所有的变量都能对它自由命名,在这里,你就是主宰!但你必须遵循以下规则:1.以字母、数字、下划线组成,不能有空格,不能用中文!2.必须以字母开头!下划线开头的有其特殊定义!3.不能与系统变量重名,也就是标识符!如def是函数申明,你就不能再取个名字和他相同了!当你对变量赋值以后还能重新赋值,如:a=1a=3这样赋值的话,a就是3而不是1变量的释放当一个变量不打算使用时,最好把它所占用的运存释放出来,一个变量占一定的储存空间,大量无用的变量的使用会使系统变的缓慢!释放方法:del 变量名注意:使用了上面的语句以后,变量就不存在了,你不能在引用,除非重新定义运算符运算符在编程中也是极其重要的,有计算,对比,赋值等作用,对于新手来说,这一篇教程不需要大家去理解,但是大家要先记住它,以后你就会明白了或需要的时候在回来查找运算符的优先顺序说明= 号这个是赋值符号,顺序是由右到左,因为变量在左边,数值在右边| 号由左至右 逻辑运算or,这个符号在程序里的意思是“或者”,a=1|b=1,这句代码的意思是,当a等于1或者b等于1时,意思是满足两个条件的其中一个& 号由左至右 逻辑运算and,这个符号由两个&组成,在程序里的意思是“并且”,a=1&b=1,这句代码的意思是,当a等于1并且b等于1时,意思是两个条件都要满足| 号由左到右,位元运算or,位或 号由左到右,位元运算xor,位异& 号由左到右,位元运算and,位与=!= 几个符号由左到右,比较运算,= 是相等,!= 是不相等,=大于或等于, 是大于号 两个符号由左到右,移位运算,必须为整型或字符+ - 两个符号由左到右,加法,减法(字符使用时用法不同)* / % 三个符号由左到右,乘法,除法,求余(不能用于字符串)注:加减乘除的计算方法和我们的数学是一样的,先乘除后加减-!+ -*()&由左到右,-(负数),!(否),+(递加),-(递减),(位运算的not运算,按位取反),(数组),()(函数参数传递),&(取址运算),(只有!(否)可以用于字符串)当优先顺序相同时,则按结合律来判定运算顺序注意1:a=1|b=2&c=3,这句话的意思是:当(a等于1或b等于2)并且c等于3时,先算左边的“或者”在算右边的“并且”注意2:混合运算不能使用这些符号,(如+=,-=,*=,等)注意3: “,”及“?:”是条件运算,程序不支持少需常用运算符说明一、赋值运算符赋值语句的作用是把某个常量或变量或表达式的值赋值给另一个变量。符号为=。这里并不是等于的意思,只是赋值,等于用=表示。注意:赋值语句左边的变量在程序的其他地方必须要声明。得已赋值的变量我们称为左值,因为它们出现在赋值语句的左边;产生值的表达式我们称为右值,因为她它们出现在赋值语句的右边。常数只能作为右值。例如:b=5a1=a2=0第一个赋值语句大家都能理解。第二个赋值语句的意思是把0同时赋值给两个变量。这是因为赋值语句是从右向左运算的,也就是说从右端开始计算。这样它先a2=0;然后a1=a2;那么我们这样行不行呢?(a1=a2)=0这样是不可以的,因为先要算括号里面的,这时a1=a2是一个表达式,而赋值语句的左边是不允许表达式存在的。二、算术运算符在Py语言中有两个单目和五个双目运算符。符号 功能* 乘法/ 除法% 求余+ 加法- 减法下面是一些赋值语句的例子, 在赋值运算符右侧的表达式中就使用了上面的算术运算符:A=H*WB=B1+B2/B3-B4运算符也有个运算顺序问题,先算乘除再算加减。求余运算符(%)用于计算两个整数相除所得的余数。例如:a=7%4最终a的结果是3,因为7%4的余数是3。那么有人要问了,我要想求它们的商怎么办呢?b=7/4这样b就是它们的商了,应该是1。也许有人就不明白了,7/4应该是1.75,怎么会是1呢?这里需要说明的是,当两个整数相除时,所得到的结果仍然是整数,没有小数部分。要想也得到小数部分,可以这样写7.0/4或者7/4.0,也即把其中一个数变为非整数。三、逻辑运算符逻辑运算符是根据表达式的值来返回真值或是假值。其实在C语言中没有所谓的真值和假值,只是认为非0为真值,0为假值。符号 功能& 逻辑与| 逻辑或! 逻辑非当表达式进行&运算时,只要有一个为假,总的表达式就为假,只有当所有都为真时,总的式子才为真。当表达式进行|运算时,只要有一个为真,总的值就为真,只有当所有的都为假时,总的式子才为假。逻辑非(!)运算是把相应的变量数据转换为相应的真/假值。若原先为假,则逻辑非以后为真,若原先为真,则逻辑非以后为假。还有一点很重要,当一个逻辑表达式的后一部分的取值不会影响整个表达式的值时,后一部分就不会进行运算了。例如:a=2b=1a|b-1因为a=2,为真值,所以不管b-1是不是真值,总的表达式一定为真值,这时后面的表达式就不会再计算了。四、关系运算符关系运算符是对两个表达式进行比较,返回一个真/假值。符号 功能 大于= 大于等于=18):appuifw.note(cn(你成年了),info)appuifw.note(cn(程序运行完毕),info)-代码结束- 这段代码的意思是,让用户输入一个数值,如果这个数值大于或等于18就输出“你成年了”我们添加else语句再来试试代码:import appuifwdef cn(x):return x.decode(utf-8)a=appuifw.query(cn(你今年多大了),number)if (a=18):appuifw.note(cn(你成年了),info)else:appuifw.note(cn(你未成年),info)appuifw.note(cn(程序运行完毕),info)-代码结束-这段代码的意思是,让用户输入一个数值,如果这个数值大于或等于18就输出“你成年了”,否则就输出“你未成年”具体的使用方法还是要大家长就实践一下,体会才会更加深刻!if、else已经用了,我们上面讲的都是单一条件,我们再来试试多条件的使用大家都知道,法定的结婚年龄是男22,女20。现在我们就来做一个程序,判断一下男女双方到底可不可以结婚!我们先用&(并且)运算符来试下因为Py里面使用&容易出错,所以我们使用and代码:import appuifwdef cn(x):return x.decode(utf-8)a=appuifw.query(cn(你今年多大了),number)b=appuifw.query(cn(你女友多大了),number)if (a=22 and b=20):*appuifw.note(cn(你们可以结婚了),info)else:*appuifw.note(cn(你们未满足结婚年龄),info)appuifw.note(cn(程序运行完毕),info)-代码结束-程序里的*好代表空格。请大家书写时注意一下这就是and(并且)运算符的使用了,程序的意思就是:如果a大于或等于22并且b大于或等于20程序就输出“你们可以结婚了”否则就输出“你们未满足结婚年龄”。接着我们在用 | (或)运算符来试下因为Py里面使用|容易出错,所以我们使用or代码:import appuifwdef cn(x):return x.decode(utf-8)a=appuifw.query(cn(你今年多大了),number)b=appuifw.query(cn(你女友多大了),number)if (a22 or b20):*appuifw.note(cn(你们有一方年龄不足),info)else:*appuifw.note(cn(你们可以结婚了),info)appuifw.note(cn(程序运行完毕),info)-代码结束-程序里的*好代表空格。请大家书写时注意一下这就是 or(或)运算符的使用了,程序的意思就是:如果a小于22或b小于20程序就输出“你们有一方年龄不足”否则就输出“你们可以结婚了”好了,这一节也讲得挺多的了,大家好好练习一下,多实践才能体会更深!-本节完-让你的手机自动说话 同学们好呀,今天的主要内容不多,主要是想让大家掌握一下我们过去所学的知识,我也会给大家出些题目,大家可以先试试手了!做题时我希望同学们能尽量自己做题,等到做出来了或实在做不出来了在去参考其他同学的代码,这样才能让自己记得牢,了解也透彻!现在我们来学学如何让手机说话,这个函数并不难,该函数调用了audio模块,该函数只支持部分带有语音功能的手机!具体的格式是:audio.say(字符串)很简单吧!我们现在使用该函数来做哄女孩子的简单软件代码:import appuifw,audiodef cn(x):return x.decode(utf-8)appuifw.app.body=m=appuifw.Text()a=appuifw.query(cn(亲爱的n你喜欢我吗?),query)if a:*m.set(cn(我也非常喜欢你n)*audio.say(cn(我也非常喜欢你!)*appuifw.app.set_exit()else:*appuifw.note(cn(因为你耍无赖n程序被迫退出n请重新打开程序),info)*appuifw.app.set_exit()-代码结束-*号代表空格,程序很简单吧!n代表换行符在这里,我们又看到了一条新的函数appuifw.app.set_exit()这是退出程序的函数,大家记住就好,不变的现在我再和同学们讲讲这个程序的运行过程,让还不理解的同学能更快掌握。定义自建函数cn()设置程序为文本界面提示一条带有(确定/取消)的信息,提示的内容省略,然后将用户的操作的布尔型返回赋值给a如果a的值是“真”,那么执行,设置字符串到程序的文本界面,调用语音读出字符串,然后退出程序否则输出提示信息省略,然后退出注:布尔型可以将每个表达式的值视为真或假。如果表达式的值为0,则返回false,否则返回true。(这种约定是从C继承来的,编写低级软件(如操作系统和实时控制软件时)时经常会使用这种约定,这种用法可能成为检测掩码或变量的所有位是否为0的简便方式)通俗一点就是一个是0,一个不是0,返回0表示假,反之返回真因为要让同学们更快的掌握代码,所以我把用户的操作赋值给了a,作为一个熟练的程序员的话,这一步是不需要的,这样只会降低程序的执行性,所以我们可以写成if appuifw.query(字符串,query)这样的写法比较简化代码,也有助于提高程序的执行性从开始学到这里也已经11节了,我希望大家能先利用我们所学的知识制作一个软件出来,制作的类型就是刚才说的哄女孩子的软件,制作以后发到Py开发交流论坛,对比一下大家谁做得好!大家互相参考才会有更大的进步!-本节完-for循环语句同学们好,上次布置的作业不知道大家有没有认真去做呢?这一节我们来学习for循环语句循环语句在任何语言都起到举足轻重的地位,比如说:你要计算1+2+3+4+100的程序,你不可能将这些数一起都写出来,为什么?很简单,麻烦,累人,工作量大,或者你说加到100写的不累,那如果程序的要求加到100000000呢?怎么办?不可能再一个一个写吧?在这里就需要用到循环了for 循环又叫当型循环,当条件不成立时就停止for循环的写法是:for 变量名 in 列表或字符串:*循环执行的语句几个示例代码:循环列表:a=uc,uo,umfor i in a:*print i-代码结束-输出:com这是对一个列表的循环代码,大家可以看到列表里面有3个字符(每个逗号区分一个),然后把这个列表赋值给a使用for来执行循环,因为a列表里面有3个字符,所以for会循环3次,循环时会a列表中对应的字符赋值给ifor每循环一次都会执行一次语句块,在这里我们使用了print函数,所以程序每次都会将i的值打印出来循环字符串:j=uabcdfor i in j:*print i-代码结束-输出:abcd这是对一个字符串的循环代码,大家可以看到,我们将abcd的字符串赋值给了j使用for来执行对j的循环,原理和列表的循环是一样的,大家自己理解一下就好条件循环:for num in range(4):*print num-代码结束-输出:0123range(4)代表0,1,2,3也就是说从0开始,直到到4停止(不包括4)range用法详细解析语法格式:range(初始化,条件,运算方法)1.初始化:表示我们从什么地方开始执行循环,默认为0,也可以不输入,表示这个循环从0开始,你也可以输入5,表示从5开始代码:for i in range(5,8):*print i-代码结束-输出:5672.条件:必填,这个数值将作为停止循环的一个条件,采用上面的例子,如果初始化是5,条件是8,表示这个循环从5开始,走到8就停止3.运算方法:运算方法就是这个循环的计算方法,可以递加,也可以递减,运算方法默认为1,表示每次加1如果你想要递减的话可以输入-1,表示每次减1如果你输入了运算方法,那么初始化也必须输入代码:for i in range(10,7,-1):*print i-代码结束-输出:1098这是每次减1代码:for i in range(0,8,2):*print i-代码结束-输出:0246这是每次加2今天就先讲这么多了,for循环在程序里是相当重要的,也是最基础的知识,大家好好温习一下,下一节我们来学习一个有趣的程序-本节完-编程思路及表白打字机 同学们好,今天有点忙,本教程写得有点匆忙,有什么写得不好的地方希望大家指出,也希望大家见谅嘻嘻,今天我们讲点有趣的,就是让手机自动打字,并配合我们以前学到的函数,做成一个小型的软件出来让同学们了解一下程序的运行方式,让同学们更快的掌握,废话不多说,我们开始吧!代码:import appuifw,e32,audiodef cn(x):return x.decode(utf-8)appuifw.app.body=m=appuifw.Text()txt0=cn(亲爱的rn)txt1=cn(这是我用程序写给你的第一封信rn)txt2=cn(你可知道我是多么的爱你rn)txt3=cn(以下省略500字,请同学们自由发挥)for i in range(4):*if(i=0):le=txt0*if(i=1):le=txt1*if(i=2):le=txt2*if(i=3):le=txt3*for j in le:*m.add(j)*e32.ao_sleep(0.1)*audio.say(le)for i in range(100):*if appuifw.query(cn(亲爱的n你爱我吗?),query):*appuifw.note(cn(谢谢你这么爱我n),conf)*break*else:*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 银行员工劳动合同管理规定制度
- 2026年窗帘布艺员工培训合同协议
- 2026年服务器租赁合同标准版
- 猎头服务合同2026年保密期限
- 2026年消防工程消防演练合同
- 2026年人力资源派遣服务合同协议
- 工业机器人焊接系统开发合同协议
- 易货贸易合同2026年保密协议书
- 宠物店店长年终总结
- 培训讲师课件评选方案
- 律师团队合作规范及管理办法
- 【中国信通院】2025年软件工程智能化标准体系建设指南
- 临床微生物标本采集运送及处理
- GB/T 20863.3-2025起重机分级第3部分:塔式起重机
- 产业发展规划编制方案
- 肾病科出科考试题及答案
- 感术行动培训课件
- 2025年脱毒马铃薯新品种示范基地建设工作方案
- 客运企业事故管理制度
- 2025年烟机设备机械修理工(二级)技能等级认定考试题库(含答案)
- 2025年上海市崇明区高考英语一模试卷
评论
0/150
提交评论