1、python儿童编程儿童编程1.Python介绍一种计算机语言 高级语言(Java,Vb,Ruby,Python,C等多达上百种)PYTHON学习2和人类一样,计算机使用多种语言进行交流。一个编程语言只是一种与计算机对话的特殊方式。人类和计算机都能理解的指令。2.安装Python-1获取安装程序(下载)https:/www.python.org/downloads/windows/注意根据操作系统选择下载64或32位版本(可执行文件)l在windows下执行安装程序PYTHON学习32.安装Python-2启动python shell(IDLE)PYTHON学习4这就是Python Shell
2、Python Shell就是在计算机上解释执行python语言的控制台。相当于你的大脑负责解释你和别人所说的话,并按照要求进行动作。3.和计算机交流吧你告诉计算机的第一句话 print(Hello World)Hello World PYTHON学习5让计算机做几道数学题 3*52 156 3670-156 3514 Symbol Operation+Addition(加)-Subtraction(减)*Multiplication(乘)/Division(除)第二章 编程第一步(变量)PYTHON学习6你将了解 什么是变量?它能干什么?如何使用它4.什么是变量变量(variable)编程中的
3、变量描述了存储信息的地方。比如数字、文本、数字和文本等等。从另一方面看,变量就像一个标签。PYTHON学习7 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第三章 编程第二步(常用数据)PYTHON学习8你将了解 STRI
4、NGS -字符串 LISTS -列表 TUPLES -元组 MAPS -地图1.字符串StringString(字符串)在编程术语中,我们通常称文本为字符串。你可以把一个字符串看作字母的集合,本资料里所有的字母、数字和符号都是一串字符。PYTHON学习9 fred=What is pink and fluffy?Pink fluff!print(fred)What is pink and fluffy?Pink fluff!创造一个字符串,把它放在变量里,让计算机显示出来说明字符串用”或者 来定义字符串转义符号 ,试着顶一个 IAM COMPUTER1.字符串String在字符串种嵌入值PYT
5、HON学习10 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.比字符串更强大
6、的列表(list)LIST(列表)很多变量的集合,用进行定义PYTHON学习11 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_numbe
7、rs*5)#可以做乘法除法,减法不行哦!考虑一下为什么2.另一种列表元祖(tuples)TUPLE(元祖)元组类似于使用圆括号的列表,用()进行定义,区别是创建后不能更改PYTHON学习12 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(字典)字典中的
8、每一项都有一个键和一个对应的值。你可以根据键找到值。PYTHON学习13 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#从字典中
9、删除EthelSmyth数据favorite_sportsEthel Smyth=Ice Hockey#修改Ethel Smyth喜欢的运动favorite_sportsCan Can=tennis#追加cancan喜欢的项目第四章 海龟画图PYTHON学习14你可以画出绚丽的图案1.什么是海龟PYTHON学习15Turbles是一个画板模块,你可以利用它绘图。正如你写字并不需要你去制造铅笔和纸张,你可以利用turtle去绘画2.海龟绘图PYTHON学习16import turtle#引进海龟,你可以开始使用它turtle.pencolor(red)#设置画笔颜色(红色)turtle.pens
10、ize(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.p
11、encolor(green)#设置画笔颜色(绿色)turtle.pensize(3)#设置画笔粗细turtle.circle(50)#画一个半径50的圆3.运用技巧PYTHON学习17import 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)右边的图怎么画出来的?看看下面的代码让计算机干了什么第五章 逻辑判断PYTHON
12、学习18用IF ELSE判断逻辑1.逻辑判断PYTHON学习19age=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 doe
13、snt 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)结果如何第六章 重复事件处理PYTHON学习231.循环PYTHON学习24作业要抄写100遍?NO!print(“homework”)print(“homework”)print(“homework”)print(“homework”)print(“homework”)pri
14、nt(“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)的循环PYTHON学习25 print(list(range(10,20)10,11,12,13,14,15,16,17,18,19简单的列表
15、打印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
16、)for j in hugehairypants:print(j)推测一下下面的结果3.一道循环的计算题PYTHON学习26问题 宝箱里有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.循环处理的几种语法PYTHON学习27for s
17、tep 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可以提前退出循环第七章 模块和函数PYTHON学习28函数是一些处理逻辑的集合模块是函数,变量的集合拥有更强大的功能海龟就是一个绘图模块1.函数构成PYTHON学习29def testfunc(myname):print(hello%s%myname)函数名,参数,处理testfunc(Mary)pri
18、nt(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.一个函数的例子PYTHON学习30每周生产X个罐子,计算出一年中每周位置总共生产的罐子。def spaceship_building(cans):total_cans=0 for week in range(1,53):total_
19、cans=total_cans+cans print(Week%s=%s cans%(week,total_cans)函数调用spaceship_building(2)#A工厂每周只能生产2个spaceship_building(10)#B工厂每周只能生产10个考虑一下使用函数的好处PYTHON学习313.模块(moudle)如何导入模块import sys#导入系统模块Import turtle#导入海龟绘图模块只有导入模块后,才可以使用它PYTHON学习324.使用sys模块sys模块内部有一个特殊的对象称为stdin(标准输入),它提供了一个相当有用的函数readline。ReadLin
20、e函数用于读取一行文本类型在键盘上,直到按回车键。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自带的常用函数PYTHON学习4
21、1PYTHON学习421.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#它的参数是任意类型,执行结果可以告诉你,可以处理这种类型所有的函数。你需要从一堆结果中找出自己有用 的信息。看看下面的记过,对于整数你可以
22、利用那些函数。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_
23、,_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_bytesPYTHON学习432.Python
24、自带函数-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_pro
25、gram=print(ham)print(sandwich)exec(my_small_program)hamsandwich区别 eval 可以有返回值 exec 无返回值PYTHON学习443.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
26、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不可以PYTHON学习454.Python自带函数-4 取得长度取得长度 len len(this is a test string)21 creature_list=unicorn,cyclops
27、,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,
28、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,12PYTHON学习465.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,
29、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常用的模块PYTHON学习47Python模块是函数、类和变量的集合。为了使它们更容易使用。Python使用模块来分组函数和类。例如,海龟模块,我们在前几章使用它,用它创建的画布在屏幕上画画。PYTHON学习481.复制模块 copy-1 导入
30、复制模块导入复制模块 复制模块的使用实例复制模块的使用实例 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)#输出har
31、ry的species属性hippogriff print(harriet.species)#输出hariet的species属性hippogriff作用 把一个对象复制给另一个对象就像你在复印机上复印资料一样写入文件创建一个动物类PYTHON学习492.复制模块 copy-2 Copy 和和 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
32、=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_animal
33、s0.species)ghoulPYTHON学习503.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,
34、pass,raise,return,try,while,with,yield通过关键字模块输出python关键字,帮助我们认识到python语言中那些单词是有特殊意义的,我们定义变量和函数时需要避开重名。PYTHON学习514.随机函数模块 random random 返回制定范围的随机值返回制定范围的随机值 import random print(random.randint(1,100)58 print(random.randint(100,1000)861 choice 从列表随机取出一个项目从列表随机取出一个项目 import random desserts=ice cream,pan
35、cakes,brownies,cookies,candy print(random.choice(desserts)brownies Shuffle 把列表洗牌重新排序把列表洗牌重新排序 import random desserts=ice cream,pancakes,brownies,cookies,candy random.shuffle(desserts)print(desserts)pancakes,ice cream,candy,brownies,cookiesPYTHON学习525.系统模块对控制台进行操作 sys exit 关闭控制带关闭控制带 import sys sys.e
36、xit()stdin.readline 从控制台读入输入信息从控制台读入输入信息 import sys v=sys.stdin.readline()He who laughs last thinks slowest print(v)He who laughs last thinks slowest stdout.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 int
37、o 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 显示系统版本显示系统版本PYTHON学习536.时间模块 time-1 time 取得现在时间取得现在时间 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(
38、)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 2020 time.asctime 自己定义一个时间自己定义一个时间PYTHON学习547
39、.时间模块 time-2 time.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)2 time.sleep 让计算机休息一会儿让计算机休息一会儿 for x in ra
40、nge(1,61):print(x)time.sleep(1)PYTHON学习558.保存信息模块 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()从文件读取保存的信息从文件读
41、取保存的信息 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第十章 高级海龟绘图PYTHON学习56PYTHON学习571.进阶海龟绘图 运用学到的知识试试海龟画出下面的图运用学到的知识试试海龟画出下面的图第十一章 图形界面PY
42、THON学习58PYTHON学习591.什么是图形界面 你现在使用的计算机就是图形界面(例如你现在使用的计算机就是图形界面(例如)PYTHON学习602.Python的图形界面 Python的图形包的图形包Import tkinter要开发图形界面,首先要导入图形包 Python的图形接口的图形接口tkniter.Tk()创建基本的窗口 Python的窗口控件的窗口控件tkniter.Button()按键tkniter.Canvas()用来在窗口画图的画布等等。Python的窗口更新显示的窗口更新显示xxxx.Pack()当你画了控件xxxx后需要用执行Pack来让它显示PYTHON学习613
43、.Python的图形界面 Python的标准图形控件的标准图形控件控件描述Button按钮控件;在程序中显示按钮。Canvas画布控件;显示图形元素如线条或文本Checkbutton多选框控件;用于在程序中提供多项选择框Entry输入控件;用于显示简单的文本内容Frame框架控件;在屏幕上显示一个矩形区域,多用来作为容器Label标签控件;可以显示文本和位图Listbox列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户Menubutton菜单按钮控件,由于显示菜单项。Menu菜单控件;显示菜单栏,下拉菜单和弹出菜单Message消息控件;用来显示多行文本,与label比较类
44、似Radiobutton单选按钮控件;显示一个单选的按钮状态Scale范围控件;显示一个数值刻度,为输出限定范围的数字区间Scrollbar滚动条控件,当内容超过可视化区域时使用,如列表框。.Text文本控件;用于显示多行文本Toplevel容器控件;用来提供一个单独的对话框,和Frame比较类似Spinbox输入控件;与Entry类似,但是可以指定输入范围值PanedWindowPanedWindow是一个窗口布局管理的插件,可以包含一个或者多个子控件。LabelFramelabelframe 是一个简单的容器控件。常用与复杂的窗口布局。tkMessageBox用于显示你应用程序的消息框。P
45、YTHON学习624.实现你的第一个图形界面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
46、显示click 按下按键后执行hello函数显示按键创建画布尺寸为500,500显示画布在画布尺上画一条线这是执行结果PYTHON学习635.常用的绘图方法-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+rando
47、m.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)PYTHON学习645.常用的绘图方法-2 绘制圆弧绘制圆弧import tkintertk=tkinter.Tk()canvas=tkinter.Canvas(tk,width=500,height=500)canvas.pack()canvas.create_arc(10,10,200
48、,80,extent=359,style=tkinter.ARC)canvas.create_arc(100,100,200,200,extent=359,style=tkinter.ARC)参数的意义1.图形左上角坐标2.图形右下角坐标3.绘制角度4.绘制圆弧常量PYTHON学习656.常用的绘图方法-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=,
49、outline=black)canvas.create_polygon(200,10,240,30,120,100,140,120,fill=,outline=black)参数的意义1.给出所有顶点的坐标PYTHON学习667.常用的绘图方法-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.creat
50、e_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)PYTHON学习678.常用的绘图方法-5 显示背景图片显示背景图片import tkintertk=tkinter.Tk()canvas=tkinter.Canvas(tk,width=800,height=50