资源预览内容
第1页 / 共72页
第2页 / 共72页
第3页 / 共72页
第4页 / 共72页
第5页 / 共72页
第6页 / 共72页
第7页 / 共72页
第8页 / 共72页
第9页 / 共72页
第10页 / 共72页
亲,该文档总共72页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
初初级编程程2018/3/172018/3/17并非所有的蛇都会爬行并非所有的蛇都会爬行1第一章开始P2你将了解 什么是python 在计算机上安装并使用python1.Python介绍一种计算机语言 高级语言(Java,Vb,Ruby,Python,C等多达上百种)P3和人类一样,计算机使用多种语言进行交流。一个编程语言只是一种与计算机对话的特殊方式。人类和计算机都能理解的指令。2.安装Python-1获取安装程序(下载) https:/www.python.org/downloads/windows/ 注意根据操作系统选择下载64或32位版本(可执行文件)l在windows下执行安装程序P42.安装Python-2启动python shell(IDLE)P5这就是Python ShellPython Shell就是在计算机上解释执行python语言的控制台。相当于你的大脑负责解释你和别人所说的话,并按照要求进行动作。3.和计算机交流吧你告诉计算机的第一句话 print(Hello World) Hello World P6让计算机做几道数学题 3 * 52 156 3670 - 156 3514 Symbol Operation+ Addition(加)- Subtraction(减)* Multiplication(乘)/ Division(除)第二章编程第一步(变量)P7你将了解 什么是变量? 它能干什么? 如何使用它4.什么是变量变量(variable) 编程中的变量描述了存储信息的地方。比如数字、文本、数字和文本等等。从另一方面看,变量就像一个标签。P8 fred = 100 #定义一个变量,并给变量赋值 print(fred) #告诉计算机把变量表示的内容显示出来100 fred = 200 #定义一个变量,并给变量赋值 john = fred #定义另一个变量,并把fred的值赋值给它 print(john)200 found_coins = 20 magic_coins = 10 stolen_coins = 3 found_coins + magic_coins * 2 - stolen_coins * 331第三章编程第二步(常用数据)P9你将了解 STRINGS - 字符串 LISTS - 列表 TUPLES - 元组 MAPS - 地图1.字符串StringString(字符串)在编程术语中,我们通常称文本为字符串。你可以把一个字符串看作字母的集合,本资料里所有的字母、数字和符号都是一串字符。P10 fred = What is pink and fluffy? Pink fluff! print(fred)What is pink and fluffy? Pink fluff!创造一个字符串,把它放在变量里,让计算机显示出来说明字符串用” 或者 来定义字符串转义符号 , 试着顶一个 IAM COMPUTER1.字符串String在字符串种嵌入值P11 myscore = 1000 message = I scored %s points print(message % myscore)I scored 1000 points nums = What did the number %s say to the number %s? Nice belt! print(nums % (0, 8)What did the number 0 say to the number 8? Nice belt!字符串乘法 print(10 * a)Aaaaaaaaaa试试下面的输出结果spaces = * 25print(%s 12 Butts Wynd % spaces)2.比字符串更强大的列表(list)LIST(列表) 很多变量的集合,用进行定义P12 some_numbers = 1, 2, 5, 10, 20 some_strings = Which, Witch, Is, Which定义一个list你可以对list进行如下操作 some_ some_strings.append(bear burp) #追加项目 del some_strings2 #删除第3项 print(some_strings2:3) #显示第3-4项 print(some_strings) #显示所有项 print(some_numbers + some_strings) #可以做加法 print(some_numbers * 5) #可以做乘法除法,减法不行哦!考虑一下为什么2.另一种列表元祖(tuples)TUPLE(元祖)元组类似于使用圆括号的列表,用()进行定义,区别是创建后不能更改P13 fibs = (0, 1, 1, 2, 3) print(fibs3)定义一个tuple你不可以改变tuple的内容否则计算机给给你报错 fibs0 = 4Traceback (most recent call last):File , line 1, in fibs0 = 4TypeError: tuple object does not support item assignment2.帮你找到你想要的(字典)MAP(字典)字典中的每一项都有一个键和一个对应的值。你可以根据键找到值。P14 favorite_sports = Ralph Williams : Football,Michael Tippett :Basketball,Edward Elgar : Baseball,Rebecca Clarke : Netball,Ethel Smyth : Badminton,Frank Bridge : Rugby定义一个map你可以对字典做如下操作 print(favorite_sportsRebecca Clarke) #找到RebeccaClarke喜欢的运动del favorite_sportsEthel Smyth #从字典中删除EthelSmyth数据favorite_sportsEthel Smyth = Ice Hockey #修改Ethel Smyth喜欢的运动favorite_sportsCan Can=tennis #追加cancan喜欢的项目第四章海龟画图P15你可以画出绚丽的图案1.什么是海龟P16Turbles是一个画板模块,你可以利用它绘图。正如你写字并不需要你去制造铅笔和纸张,你可以利用turtle去绘画2.海龟绘图P17import turtle #引进海龟,你可以开始使用它turtle.pencolor(red) #设置画笔颜色(红色)turtle.pensize(1) #设置画笔粗细turtle.forward(100) #让海龟前进50个像素turtle.left(90) #左转90度turtle.forward(100) #让海龟继续前进50个像素turtle.left(90) #左转90度turtle.forward(100) #让海龟继续前进50个像素turtle.left(90) #左转90度turtle.forward(100) #让海龟继续前进50个像素turtle.up() #让海龟抬起笔turtle.left(90) #左转90度turtle.forward(50) #让海龟继续前进25个像素turtle.down() #让海龟放下笔turtle.pencolor(green) #设置画笔颜色(绿色)turtle.pensize(3) #设置画笔粗细turtle.circle(50) #画一个半径50的圆3.运用技巧P18import turtle #引进海龟,你可以开始使用它myColor=red,green,brownindex =0for x in range(250): turtle.pencolor(myColorindex) index +=1 if index = 3: index = 0 turtle.forward(x*2) turtle.left(92)右边的图怎么画出来的?看看下面的代码让计算机干了什么第五章逻辑判断P19用IF ELSE判断逻辑1. 逻辑判断P20age = 10if age = 20: print(oh!you are yong)Elif age 20 and age = 10 and age myval = None if myval = None:print(The variable myval doesnt have a value)什么都没有保存的空值 age=10 if age = 10:print(The variable myval doesnt have a value)数值是字符串还是数字? age=10 if age = 10:print(The variable myval doesnt have a value) age = 10 converted_age = int(age) age = 10 converted_age = str(age) age = 10.5 converted_age = int(age) if age = 10:print(The variable myval doesnt have a value)结果如何第六章重复事件处理P241. 循环P25作业要抄写100遍? NO! print(“homework”)print(“homework”)print(“homework”)print(“homework”)print(“homework”)print(“homework”)print(“homework”)print(“homework”)print(“homework”).print(“homework”)print(“homework”)print(“homework”)print(“homework”)so easy!for x in range(0, 99): print(homework)for x in range(0, 99): print(hello %s % x)试试这个2. 列表(list)的循环P26 print(list(range(10, 20)10, 11, 12, 13, 14, 15, 16, 17, 18, 19简单的列表打印class_list = class1,class2,class3,class4,class5 for x in range(0, 4): print(hello %s % class_listx)循环方式的列表打印循环方式的遍历列表 wizard_list = spider legs, toe of frog, snail tongue,bat wing, slug butter, bear burp for i in wizard_list:print(i)左边的1和2实现方式有什么区别?hugehairypants = huge, hairy, pantsfor i in hugehairypants: print(i) for j in hugehairypants: print(j)推测一下下面的结果3. 一道循环的计算题P27问题 宝箱里有20枚金币,每天会增加10枚,但是乌鸦每周会偷走3枚,请计算一年53周每周宝箱内会剩余多少金币 found_coins = 20 magic_coins = 70 stolen_coins = 3u coins = found_coinsv for week in range(1, 53):w coins = coins + magic_coins - stolen_coinsx print(Week %s = %s % (week, coins)4. 循环处理的几种语法P28for step in range(0, 20): print(step)FOR循环x = 45y = 80 while x 50 and y 100: x = x + 1 y = y + 1 print(x, y)WHILE循环for x in range(0, 20): print(hello %s % x) if x 9: breakBreak可以提前退出循环第七章模块和函数P29函数是一些处理逻辑的集合模块是函数,变量的集合拥有更强大的功能海龟就是一个绘图模块1. 函数构成P30def testfunc(myname): print(hello %s % myname)函数名,参数,处理testfunc(Mary)print(savings(10, 10, 5)执行函数def testfunc(fname, lname): print(Hello %s %s % (fname, lname)函数可以有多个参数函数可以有返回值def savings(pocket_money, paper_route, spending): return pocket_money + paper_route spending2. 一个函数的例子P31每周生产X个罐子,计算出一年中每周位置总共生产的罐子。def spaceship_building(cans): total_cans = 0 for week in range(1, 53): total_cans = total_cans + cans print(Week %s = %s cans % (week, total_cans)函数调用spaceship_building(2) #A工厂每周只能生产2个spaceship_building(10) #B工厂每周只能生产10个考虑一下使用函数的好处P323. 模块(moudle)如何导入模块import sys #导入系统模块Import turtle #导入海龟绘图模块只有导入模块后,才可以使用它P334. 使用sys模块sys模块内部有一个特殊的对象称为stdin(标准输入),它提供了一个相当有用的函数readline。ReadLine函数用于读取一行文本类型在键盘上,直到按回车键。Standard input的略称import sysdef ageEV(): print(How old are you?) age = int(sys.stdin.readline() if age 15 and age ozwald = Giraffes(100) gertrude = Giraffes(150) print(ozwald.giraffe_spots)100 print(gertrude.giraffe_spots)150初期化函数的例子初期化函数的例子初期化函数的使用实例初期化函数的使用实例第九章python自带的常用函数P42P431. Python自带函数-1获得绝对值获得绝对值 abs() print(abs(10)10布尔变量布尔变量 bool() print(bool(0)False print(bool(1)True print(bool(a)Dir函数函数 print(bool(0)False print(bool(1)True print(bool(a)#用它来计算绝对值#用它来取得逻辑真假,可进行IF判断 还记得条件语法吗 if elif else#它的参数是任意类型,执行结果可以告诉你,可以处理这种类型所有的函数。你需要从一堆结果中找出自己有用 的信息。看看下面的记过,对于整数你可以利用那些函数。 print(dir(1)_abs_, _add_, _and_, _bool_, _ceil_, _class_, _delattr_, _dir_, _divmod_, _doc_, _eq_, _float_, _floor_, _floordiv_, _format_, _ge_, _getattribute_, _getnewargs_, _gt_, _hash_, _index_, _init_, _init_subclass_, _int_, _invert_, _le_, _lshift_, _lt_, _mod_, _mul_, _ne_, _neg_, _new_, _or_, _pos_, _pow_, _radd_, _rand_, _rdivmod_, _reduce_, _reduce_ex_, _repr_, _rfloordiv_, _rlshift_, _rmod_, _rmul_, _ror_, _round_, _rpow_, _rrshift_, _rshift_, _rsub_, _rtruediv_, _rxor_, _setattr_, _sizeof_, _str_, _sub_, _subclasshook_, _truediv_, _trunc_, _xor_, bit_length, conjugate, denominator, from_bytes, imag, numerator, real, to_bytesP442. Python自带函数-2获得帮助获得帮助help help(abs)Help on built-in function abs in module builtins:abs(x, /) Return the absolute value of the argument.执行命令函数执行命令函数 eval your_calculation = input(Enter a calculation: )Enter a calculation: 12*52 eval(your_calculation)624#用它让Python告诉你函数的使用方法,不过都是英文哦!执行命令函数执行命令函数 eval my_small_program = print(ham)print(sandwich) exec(my_small_program)hamsandwich区别 eval 可以有返回值 exec 无返回值P453. Python自带函数-3浮点值浮点值 float() print(abs(10)10整数整数 int() float(123.456789)123.456789 your_age = input(Enter your age: )Enter your age: 20 age = float(your_age) if age 13:print(You are %s years too old % (age - 13)You are 7.0 years too old#带很多位小数的值 int(123.456)123 int(123)123 int(123.456)Traceback (most recent call last):File , line 1, in int(123.456)ValueError: invalid literal for int() with base 10: 123.456出错了!字符串123.456不可以P464. Python自带函数-4取得长度取得长度 len len(this is a test string)21 creature_list = unicorn, cyclops, fairy, elf, dragon,troll print(len(creature_list)6取得最大数,最小值取得最大数,最小值 max min numbers = 5, 4, 10, 30, 22 print(max(numbers)30 strings = s,t,r,i,n,g,S,T,R,I,N,G print(max(strings)t范围函数范围函数 range for x in range(0, 5):print(x) count_by_twos = list(range(0, 30, 2) print(count_by_twos)0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28 count_down_by_twos = list(range(40, 10, -2) print(count_down_by_twos)40, 38, 36, 34, 32, 30, 28, 26, 24, 22, 20, 18, 16, 14, 12P475. Python自带函数-5计算和计算和文件访问文件访问 test_file = open(c:test.txt) text = test_file.read() print(text)文件内容xxxxxxxxx my_list_of_numbers = list(range(0, 500, 50) print(my_list_of_numbers)0, 50, 100, 150, 200, 250, 300, 350, 400, 450 print(sum(my_list_of_numbers)2250 test_file = open(c:myfile.txt, w) test_file.write(What is green and loud? A froghorn!) test_file.close()读取文件写入文件第十章python常用的模块P48Python模块是函数、类和变量的集合。为了使它们更容易使用。 Python使用模块来分组函数和类。例如,海龟模块,我们在前几章使用它,用它创建的画布在屏幕上画画。P491. 复制模块copy -1导入复制模块导入复制模块复制模块的使用实例复制模块的使用实例 class Animal:def _init_(self, species, number_of_legs, color):self.species = speciesself.number_of_legs = number_of_legsself.color = colorimport copy import copy #导入复制模块 harry = Animal(hippogriff, 6, pink) #创建harry对象 harriet = copy.copy(harry) #把harry复制到harriet print(harry.species) #输出harry的species属性hippogriff print(harriet.species) #输出hariet的species属性hippogriff作用 把一个对象复制给另一个对象就像你在复印机上复印资料一样写入文件创建一个动物类P502. 复制模块copy-2Copy 和和 deepcopy harry = Animal(hippogriff, 6, pink) carrie = Animal(chimera, 4, green polka dots) billy = Animal(bogill, 0, paisley) my_animals = harry, carrie, billy more_animals = copy.copy(my_animals) print(more_animals0.species)hippogriff print(more_animals1.species)Chimera my_animals0.species = ghoul print(my_animals0.species)ghoul print(more_animals0.species)ghoul more_animals = copy.deepcopy(my_animals) my_animals0.species = wyrm print(my_animals0.species)Wyrm print(more_animals0.species)ghoulP513. Python的关键字模块关键字关键字 keyword import keyword print(keyword.iskeyword(if)True print(keyword.iskeyword(ozwald)False print(keyword.kwlist)False, None, True, and, as, assert, break, class,continue, def, del, elif, else, except, finally,for, from, global, if, import, in, is, lambda,nonlocal, not, or, pass, raise, return, try, while,with, yield通过关键字模块输出python关键字,帮助我们认识到python语言中那些单词是有特殊意义的,我们定义变量和函数时需要避开重名。P524. 随机函数模块randomrandom 返回制定范围的随机值返回制定范围的随机值 import random print(random.randint(1, 100)58 print(random.randint(100, 1000)861choice 从列表随机取出一个项目从列表随机取出一个项目 import random desserts = ice cream, pancakes, brownies, cookies,candy print(random.choice(desserts)browniesShuffle 把列表洗牌重新排序把列表洗牌重新排序 import random desserts = ice cream, pancakes, brownies, cookies,candy random.shuffle(desserts) print(desserts)pancakes, ice cream, candy, brownies, cookiesP535. 系统模块对控制台进行操作sysexit 关闭控制带关闭控制带 import sys sys.exit()stdin.readline 从控制台读入输入信息从控制台读入输入信息 import sys v = sys.stdin.readline()He who laughs last thinks slowest print(v)He who laughs last thinks sloweststdout.write 把内容输出到控制台把内容输出到控制台 import sys sys.stdout.write(What does a fish say when it swims into a wall?Dam.)What does a fish say when it swims into a wall? Dam.52 import sys print(sys.version)3.1.2 (r312:79149, Mar 21 2013, 00:41:52) MSC v.1500 32 bit (Intel)version 显示系统版本显示系统版本P546. 时间模块time-1time 取得现在时间取得现在时间 import time print(time.time()1300139149.34 def lots_of_numbers(max):u t1 = time.time()v for x in range(0, max):print(x)w t2 = time.time()x print(it took %s seconds % (t2-t1) lots_of_numbers(1000)January 1, 1970, at 00:00:00计算经过的时间time.asctime 取得可读的时间取得可读的时间 import time print(time.asctime()Mon Mar 11 22:03:41 2013 import time t = (2020, 2, 23, 10, 30, 48, 6, 0, 0) print(time.asctime(t)Sun Feb 23 10:30:48 2020time.asctime 自己定义一个时间自己定义一个时间P557. 时间模块time-2time.localtime 取得现在时间的列表取得现在时间的列表 import time print(time.localtime()time.struct_time(tm_year=2020, tm_mon=2, tm_mday=23, tm_hour=22,tm_min=18, tm_sec=39, tm_wday=0, tm_yday=73, tm_isdst=0) t = time.localtime() year = t0 month = t1 print(year)2020 print(month)2time.sleep 让计算机休息一会儿让计算机休息一会儿 for x in range(1, 61):print(x)time.sleep(1)P568. 保存信息模块pickle保存保存map信息到文件信息到文件 import picklev game_data = player-position : N23 E45,pockets : keys, pocket knife, polished stone,backpack : rope, hammer, apple,money : 158.50w save_file = open(save.dat, wb)x pickle.dump(game_data, save_file)y save_file.close()从文件读取保存的信息从文件读取保存的信息 load_file = open(save.dat, rb) loaded_game_data = pickle.load(load_file) load_file.close() print(loaded_game_data)money: 158.5, backpack: rope, hammer, apple,player-position: N23 E45, pockets: keys, pocket knife,polished stone第十章高级海龟绘图P57P581. 进阶海龟绘图运用学到的知识试试海龟画出下面的图运用学到的知识试试海龟画出下面的图第十一章图形界面P59P601. 什么是图形界面你现在使用的计算机就是图形界面(例如你现在使用的计算机就是图形界面(例如)P612. Python的图形界面Python的图形包的图形包Import tkinter要开发图形界面,首先要导入图形包Python的图形的图形接口接口tkniter.Tk()创建基本的窗口Python的窗口控件的窗口控件tkniter.Button()按键tkniter.Canvas()用来在窗口画图的画布等等。Python的窗口更新显示的窗口更新显示xxxx.Pack()当你画了控件xxxx后需要用执行Pack来让它显示P623. Python的图形界面Python的标准图形控件的标准图形控件控件描述Button按钮控件;在程序中显示按钮。Canvas画布控件;显示图形元素如线条或文本Checkbutton多选框控件;用于在程序中提供多项选择框Entry输入控件;用于显示简单的文本内容Frame框架控件;在屏幕上显示一个矩形区域,多用来作为容器Label标签控件;可以显示文本和位图Listbox列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户Menubutton菜单按钮控件,由于显示菜单项。Menu菜单控件;显示菜单栏,下拉菜单和弹出菜单Message消息控件;用来显示多行文本,与label比较类似Radiobutton单选按钮控件;显示一个单选的按钮状态Scale范围控件;显示一个数值刻度,为输出限定范围的数字区间Scrollbar滚动条控件,当内容超过可视化区域时使用,如列表框。.Text文本控件;用于显示多行文本Toplevel容器控件;用来提供一个单独的对话框,和Frame比较类似Spinbox输入控件;与Entry类似,但是可以指定输入范围值PanedWindowPanedWindow是一个窗口布局管理的插件,可以包含一个或者多个子控件。LabelFramelabelframe 是一个简单的容器控件。常用与复杂的窗口布局。tkMessageBox用于显示你应用程序的消息框。P634. 实现你的第一个图形界面import tkinterdef hello(): print(hello there)tk=tkinter.Tk()btn = tkinter.Button(tk,text=click me,command=hello,width=8,height=1) btn.pack()canvas = tkinter.Canvas(tk,width=500,height=500)canvas.pack()canvas.create_line(0, 0, 500, 500)导入tkinter定义一个函数,在控制台输出hello there创建窗口在窗口加入按键,尺寸为8,1 显示click 按下按键后执行hello函数显示按键创建画布尺寸为500,500显示画布在画布尺上画一条线这是执行结果P645. 常用的绘图方法-1绘制盒子绘制盒子import tkinterimport randomtk=tkinter.Tk()canvas = tkinter.Canvas(tk,width=500,height=500)canvas.pack()def random_rectangle(width,height,fill_color): x1= random.randrange(width) y1= random.randrange(height) x2= x1+random.randrange(width) y2= y1+random.randrange(height) canvas.create_rectangle(x1,y1,x2,y2,fill=fill_color)for x in range(0,100): random_rectangle(400,400,#eb5699)P655. 常用的绘图方法-2绘制圆弧绘制圆弧import tkintertk=tkinter.Tk()canvas = tkinter.Canvas(tk,width=500,height=500)canvas.pack()canvas.create_arc(10,10,200,80,extent=359,tkinter.ARC)canvas.create_arc(100,100,200,200,extent=359,tkinter.ARC)参数的意义1.图形左上角坐标2.图形右下角坐标3.绘制角度4.绘制圆弧常量P666. 常用的绘图方法-3绘制多边形绘制多边形import tkintertk=tkinter.Tk()canvas = tkinter.Canvas(tk,width=500,height=500)canvas.pack()canvas.create_polygon(1,1,100,10,100,110,fill=,outline=black)canvas.create_polygon(200, 10, 240, 30, 120, 100, 140, 120, fill=,outline=black)参数的意义1.给出所有顶点的坐标P677. 常用的绘图方法-4显示文字显示文字import tkintertk=tkinter.Tk()canvas = tkinter.Canvas(tk,width=500,height=500)canvas.pack()canvas.create_text(150, 150, text=He said, Its my curse,font=(Times, 15)canvas.create_text(200, 200, text=But it could be worse,font=(Helvetica, 20)canvas.create_text(220, 250, text=My cousin rides round,font=(Courier, 22)canvas.create_text(220, 300, text=on a goose., font=(Courier, 30)P688. 常用的绘图方法-5显示背景图片显示背景图片import tkintertk=tkinter.Tk()canvas = tkinter.Canvas(tk,width=800,height=500)canvas.pack()my_image=tkinter.PhotoImage(file=5414231.gif)canvas.create_image(0,0,anchor=tkinter.NW,image=my_image)注意Tkinter只能处理gif图片,如果要处理其他图片需要用到python图形库注意NW告诉tkinter图片左上角是原点,否则将以图片中心作为原点P699. 常用的绘图方法-6创作你的蒙太奇创作你的蒙太奇import tkinterimport timetk=tkinter.Tk()canvas = tkinter.Canvas(tk,width=800,height=500)canvas.pack()mytriangle=canvas.create_polygon(10, 10, 10, 60, 50, 35)for x in range(0, 60): canvas.move(1, 5, 0) tk.update() time.sleep(0.01)def movetriangle(event): if event.keysym = Up: canvas.move(1, 0, -3) canvas.itemconfig(mytriangle, fill=blue) elif event.keysym = Down: canvas.move(1, 0, 3) canvas.itemconfig(mytriangle, fill=red) elif event.keysym = Left: canvas.move(1, -3, 0) canvas.itemconfig(mytriangle, fill=green) else: canvas.move(1, 3, 0) canvas.itemconfig(mytriangle, fill=black)canvas.bind_all(, movetriangle)canvas.bind_all(, movetriangle)canvas.bind_all(, movetriangle)canvas.bind_all(, movetriangle)画三角蒙太奇动作键盘事件动作键盘事件绑定Move三个参数1.画布上图片代号2.X坐标移动距离3.Y坐标移动距离下一阶段P70恭喜你学完python基本知识,下面可以完成2个简单的游戏弹球游戏P71火柴人游戏P72
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号