小学python编程班课程
北大培文张老师
小学机器人创客教育,3D打印,编程。
展开
-
Python练手小项目(12)斐波那契曲线的改进
在第5课中我们简单的绘制了斐波那契数列的曲线,本节我们对曲线进行一些小小的改进,首先是用一个正方形把每一段曲线框起来,然后为每一段曲线添加一个尺寸标注。#斐波那契的改进20220518:import turtle as tt.speed(0)def fibarc(n): a,b=1,1 for i in range(n): a,b=b,a+b t.pensize(3) t.pencolor('blue') t.cir原创 2022-05-18 10:48:57 · 471 阅读 · 0 评论 -
Python练手小项目(11)用户名密码验证的初步探索
1.先做一个基础版:用字符串存储一个密码,与用户输入的字符进行匹配,打印验证结果。mima='123456'for i in range(3): password=input('请输入六位数字密码:') if password==mima: print('密码正确。') break else: print('密码错误,请重新输入。')else: print('3次机会已用完。')2.改为用字典存储用户名和密码,用户原创 2022-05-17 11:59:24 · 2695 阅读 · 0 评论 -
python海龟画图(6)多边形(2)
上节课我们学习了画多边形,并且给多边形边框添加深度不同的颜色。这节课我们来思考一个问题:如何给每个多边形添加不同的填充色?由于我们的for循环是从小到大的,也就是说多边形是从三角形开始到四边形、五边形、六边形等,而大的多边形会覆盖小的多边形,所以最终填充颜色只保留最大的多边形的颜色。所以我们需要从最大的多边形开始由大到小填充。因此我们需要修改for循环,让数字从大到小排列,想一想用什么方法?举个简单的例子:for i in range(10): print(i,end='、')原创 2022-04-10 14:20:09 · 2801 阅读 · 0 评论 -
Python练手小项目(9)生成四位随机验证码(上)
本节课我们试着做一个登陆时常见的四位验证码,思路也很简单,无非是10个数字和26个英文字母,随机选择4次,并把四个结果连在一起,生成一个四位字符。import randomlib = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'for i in range(4): j=random.randint(0,35) print(lib[j],end='')这样写比较简洁易读,只用了5行就实现了想要的效果,用到的函数都是之前学过的,对别的函数不了解的话,原创 2022-04-01 19:55:06 · 4410 阅读 · 1 评论 -
Python练手小项目(10)生成四位随机验证码(下)
在上节课的基础上,本节课将使用chr()函数来得到验证码字符。ASCII(美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,它是现今最通用的单字节编码系统。首先定义了tim变量,用来记录当前是第几个字符。然后定义了i和j两个变量,分别得到数字类型和大写字母类型的字符,并用temp变量来随机确定是数字还是字母。每次循环都重新随机产生字母或数字,得到的结果赋值给abcd四个变量,最后字符串相加输出结果result。#生成随机验证码import原创 2022-04-01 19:55:33 · 1924 阅读 · 0 评论 -
Python练手小项目(8)判断三条线能否围成三角形
已知:三角形任意三条边的长度之和大于第三条边。解题:定义3个变量a、b、c,让用户输入任意三个数字赋值给三个变量。判断三个变量中是否任意两个之和大于第三个数值。a = int(input('请输入第1条边长:'))b = int(input('请输入第2条边长:'))c = int(input('请输入第3条边长:'))while a+b>c and a+c>b and b+c>a: print('abc能围成三角形。') breakelse: p原创 2022-03-30 15:45:35 · 3158 阅读 · 0 评论 -
Python练手小项目(7)提取身份证信息(中级)
上节课我们利用字符串的切片功能从身份证号码中提取出了性别和出生日期等信息,本节课我们继续提取身份证号码的前两位数字代表的信息,这两位数代表了省份信息,其中第一位代表了该省份所在地域,由于省份和地域很多,不可能通过if...else...进行判断,这里引入字典功能,新建两个字典,分别存储了两位数字所代表的地域和省份信息。dict1 = {'1':'华北地区','2':'东北地区','3':'华东地区','4':'华中、华南地区','5':'西南地区','6':'西北地区','8':'港澳台居民身份证'}原创 2022-03-29 15:13:09 · 4045 阅读 · 0 评论 -
Python练手小项目(6)随机取红黑球并计算概率
1.一只不透明的袋子里装有两个小球,分别为红色和黑色,除此之外小球的重量、材质、手感等完全一致,随机从袋子里拿出一只小球,会是什么颜色?import randombags=["red","black"]print(random.choice(bags))2.取出小球后记录颜色,然后再放回去,重新取球,重复10次,查看每次的结果。import randombags=["red","black"]for i in range(10): print(random.choice(ba原创 2022-03-29 14:26:53 · 1788 阅读 · 0 评论 -
Python练手小项目(5)斐波那契数列及其曲线的绘制
斐波那契数列,也叫黄金分割数列、兔子繁殖数列等,其实很简单,数列的前几项是这样的:1、1、2、3、5、8、13、21、34、……从第三项开始,后面的一项等于前面两项之和,在科学领域有很多应用,在自然界也能找到很多遵循该数列排列的很多自然现象或生物特征。图片源自网络,出处不详。任务一:print() 数列。任务二:用turtle库画出数列曲线。#任务一完整代码def fib(n): a,b=1,1 print(a,end=(','))#第一次定义a值 for i原创 2022-03-29 08:51:17 · 3193 阅读 · 1 评论 -
Python练手小项目(4)计算体重身高指数BMI
import ossg=float(input("请输入身高(米):"))#把输入转换为小数形式tz=float(input("请输入体重(千克):"))#把输入转换为小数形式BMI = round(tz/(sg*sg),2)#四舍五入保留两位小数if BMI<16: print(BMI,"你有点瘦,多吃点。")elif BMI>19: print(BMI,"超重了,多锻炼!")else: print(BMI,"恭喜你拥有完美身材,真棒!")os.sy...原创 2022-03-28 17:35:36 · 5562 阅读 · 0 评论 -
Python练手小项目(3)提取身份证信息(初级)
'''身份证号码由18位数字组成第1-6位数字表示所在省份和城市、区县的代码第7~14位数字表示:出生年、月、日第15~17位为同一区域内同年同月同日出生的顺序号第17位表示性别,奇数表示男性,偶数表示女性第18位是校检码'''import os#只用于防止程序退出myname = input("请输入姓名:")myid = input("请输入身份证号码:")while len(myid) == 18:#判断输入字符是不是18位 birthday = myi原创 2022-03-27 17:31:10 · 6521 阅读 · 0 评论 -
Python练手小项目(2)10以内乘法口诀表
这个小项目主要是用到了for循环的嵌套,i的循环从1到9,j的循环从1到i+1,j每循环完一次后结尾加一个空格,i每循环完一次后结尾加一个换行符,由于print函数自带换行功能,所以只需要print一个空的值即可,print里面用到了f格式化功能,格式化语句中用到变量的需要用{ }括起来,括号里面可以有运算符,else语句是for循环的特殊用法,一般情况下for循环不需要用else,默认省略。以下是完整代码:#10以内乘法口诀表import osfor i in range(1,10):原创 2022-03-21 16:25:44 · 1355 阅读 · 0 评论 -
Python练手小项目(1)猜数字小游戏
主要知识点:用while循环的方法,结合if…elif…else,做一个在1-9之间猜数字的小游戏。导入随机random,随机整数用random.randint()用户输入用input(),把用户输入转化为整数需要用int(),二者结合可以写作int(input())一共需要定义4个变量:机会总数:total_chance当前机会:chance正确数字:number猜测数字:guess以下是完整代码:import randomprint('欢迎进入猜数字游戏')原创 2022-03-21 16:02:33 · 4530 阅读 · 0 评论 -
python海龟画图(12)bilibili小电视
#bilibiliimport turtle as t#边框t.pu()t.goto(-250,-225)t.pd()t.pensize(15)for i in range(2): t.fd(500) t.circle(50,90) t.fd(350) t.circle(50,90)#嘴巴t.pu()t.goto(-100,-50)t.seth(270)t.pd()t.pensize(15)t.circle(50,180)t.seth(27...原创 2021-11-17 13:01:33 · 1082 阅读 · 0 评论 -
python海龟画图(11)微软LOGO
import turtle as timport mathdef squ(x,y,a,l): t.pu() t.goto(x,y) t.pd() t.begin_fill() if x > 0 and y > 0: t.fillcolor("green") t.pencolor("green") t.seth(0) t.fd(l) t.seth(90) ...原创 2021-11-09 15:11:02 · 781 阅读 · 1 评论 -
python海龟画图(10)小米logo
import turtle as tr1 = 30 #小半径r2 = 50 #大半径h = 170 #总高度d1 = 40 #线宽d2 = 30 #线距t.fillcolor("orangered")t.pu()t.goto(-90,-200)t.pencolor("orangered")t.pd()t.begin_fill()for i in range(4): t.fd(150) t.circle(150,90)t.end_fill()...原创 2021-11-06 11:45:43 · 548 阅读 · 0 评论 -
python海龟画图(9)某抑云音乐logo
import turtle as timport mathlist1=["网","易","云","音","乐"]t.bgcolor("red")t.pu()t.goto(-50,200)t.seth(200)t.pensize(50)t.pencolor("white")t.pd()r = 200for i in range(15): t.circle(r,41) r-=12t.fd(200)for j in range(30): t.rt(5) ...原创 2021-11-06 10:25:51 · 692 阅读 · 0 评论 -
python海龟画图(8)美国队长盾牌
import turtle as timport matht.speed(10)def yuan(r1,c,x,y): t.pu() t.goto(x,y) t.pd() t.pencolor(c) t.fillcolor(c) t.begin_fill() t.circle(r1) t.end_fill()def wjx(r2): t.pencolor("white") t.pu() t.goto(0,r...原创 2021-11-03 10:06:16 · 1839 阅读 · 0 评论 -
python海龟画图(7)微信logo
import turtle as tt.speed(0)t.bgcolor("dimgray")def sibianxing(): t.pu() t.goto(-90,-120) t.pencolor("black") t.fillcolor("white") t.pensize(2) t.begin_fill() t.pd() for j in range(4): t.fd(250) t.ci...原创 2021-10-27 15:42:58 · 426 阅读 · 0 评论 -
python海龟画图(6)多边形
import turtle as tt.colormode(255)t.speed(0)t.bgcolor(0,0,0)def dbx(n): for i in range(1,n+1): t.fd(50) t.rt(360/n)for n in range(3,21): t.pencolor(255-10*n,0,0) dbx(n)t.exitonclick()原创 2021-10-26 17:34:34 · 1036 阅读 · 0 评论 -
python海龟画图(5)彩虹
import turtle as tlist1=["orangered","orange","yellow","lightgreen","cyan","deepskyblue","magenta"]def hx(r,c): t.pu() t.seth(90) t.goto(100+r,-100) t.pd() t.pensize(10) t.circle(100+r,180)r=10 for i in range(len(list1)): ...原创 2021-10-26 15:40:51 · 778 阅读 · 0 评论 -
python海龟画图(4)荷花
import turtle as tdef huaban(): t.pensize(3) t.pencolor("pink") t.circle(100,90) t.lt(90) t.circle(100,90) t.lt(90)for i in range(7): huaban() t.lt(15)t.pensize(9)t.pencolor("green")t.seth(270)for j in range(36): ...原创 2021-10-26 14:33:09 · 4053 阅读 · 0 评论 -
python海龟画图(3)奥运五环
啊~~~五环,你比四环多一环import turtle as tdef yq(a,b,i): t.pu() t.pensize(8) t.goto(a,b) t.pd() t.pencolor(list1[i]) t.circle(50)list1=["blue","black","red","yellow","green"]yq(-110,0,0)yq(0,0,1)yq(110,0,2)yq(-55,-40,3)yq(55,-40,...原创 2021-10-25 16:26:58 · 1535 阅读 · 0 评论 -
python海龟画图(2)五星红旗
国旗,五星红旗,星星的大小和朝向略有瑕疵,正在改进中,请勿较真。import turtle as timport mathimport randomdef d5jx(cd,wz1,wz2,jd): t.penup() t.goto(wz1,wz2) t.pendown() t.seth(jd) t.pencolor("yellow") t.fillcolor("yellow") t.begin_fill() for i in ...原创 2021-10-25 16:16:14 · 3875 阅读 · 0 评论 -
python海龟画图(1)太极图
import turtle as tt.speed(10)def arc1(r,d1,x,y,c): t.pu() t.goto(x,y) t.pd() t.seth(d1) t.begin_fill() t.fillcolor(c) t.pencolor(c) t.circle(r) t.end_fill() def arc2(r,d2,x,y,c): t.pu() t.goto(x,y)...原创 2021-10-25 11:46:22 · 4466 阅读 · 0 评论