python少儿编程(更新中…)
第1讲(海龟1)
(键盘的认识与使用)
第2讲(海龟2)
指令:
import turtle #导入海归库
turtle.shape('turtle') #设置画笔形状
turtle.forward(n) #画笔前进走n步
turtle.backward(n) #画笔后退n步
turtle.left(n) #画笔左转n度
turtle.right(n) #画笔右转n度
turtle.goto(x, y) #将画笔移动到坐标(x, y)处
turtle.circle(n) #画半径为n的圆
turtle.circle(半径,圆心角的度数) #画指定半径、指定圆心角的圆弧
练习:
练习一:编写程序控制海龟前进300步,再后退150步。
import turtle
turtle.forward(300)
turtle.backward(150)
练习二:请编写程序,让小海龟的头朝下。
import turtle
turtle.right(90)
# turtle.left(270)
练习三:编写程序,让小海龟画一个边长为200的正方形。
import turtle
turtle.forward(200)
turtle.left(90)
turtle.forward(200)
turtle.left(90)
turtle.forward(200)
turtle.left(90)
turtle.forward(200)
turtle.left(90)
练习四:请编写程序,让小海龟去到(100,100)处。
import turtle
turtle.goto(100,100)
练习五:请编写程序,画出边长为200的等腰直角三角形(如图)。
import turtle
turtle.goto(200,0)
turtle.goto(0, 200)
turtle.goto(0, 0)
练习六:请编写程序,画一个半径为100的圆。
import turtle
turtle.circle(100)
练习七:画一个半径为100,圆心角的度数为-180°的圆弧。
import turtle
turtle.circle(100,-180)
练习八:编程画出下图图形,图形由两个半径为25的半圆组成。
import turtle
turtle.circle(25,180)
turtle.circle(-25, 180)
练习九:编程画出下图图形,外部完整大圆的半径为150,内部两个小半圆的半径为75。
import turtle
turtle.circle(25,180)
turtle.circle(-25, 180)
turtle.circle(-50)
补充:
turtle.circle(半径,steps=x) #x为一个整数。在圆内画一个x边形。
import turtle
turtle.circle(100,steps=4)
第3讲(海龟3)
指令:
turtle.pencolor('颜色') #设置画笔颜色
turtle.fillcolor('颜色') #设置填充颜色
turtle.begin_fill() #设置填充起点
turtle.end_fill() #设置填充终点
turtle.color('画笔颜色', '填充颜色') #设置画笔颜色及填充颜色
turtle.penup() #抬笔
turtle.pendown() #落笔
turtle.pensize(数值) #设置画笔的粗细
turtle.speed(数值) #设置画画的速度
turtle.hideturtle() #隐藏画笔
turtle.done() #停止画笔
练习:
练习一:用红色的画笔画一个半径为 100 的圆。
import turtle
turtle.pencolor('red')
turtle.circle(100)
练习二:用黑色的画笔画一个半径为 80 的圆,并填充黄色。
import turtle
turtle.fillcolor('yellow')
turtle.begin_fill()
turtle.circle(80)
turtle.end_fill()
练习三:用黑色的画笔画一个半径为 80 的圆,并填充绿色。
import turtle
turtle.fillcolor('green')
turtle.begin_fill()
turtle.circle(80)
turtle.end_fill()
练习四:用蓝色的画笔画一个宽为 50、长为 100 的长方形,并填充黄色。
import turtle
turtle.pencolor('blue')
turtle.fillcolor('yellow')
turtle.begin_fill()
turtle.forward(50)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.forward(50)
turtle.left(90)
turtle.forward(100)
turtle.left(90)
turtle.end_fill()
练习五:尝试绘制下图小眼睛!(两圆之间的距离、半径不限)
import turtle
turtle.circle(50)
turtle.penup()
turtle.forward(150)
turtle.pendown()
turtle.circle(50)
练习六:给小眼睛加上瞳孔!
import turtle
turtle.circle(50) # 左眼-白
turtle.begin_fill() # 左眼-黑
turtle.circle(25)
turtle.end_fill()
turtle.penup() #跳
turtle.forward(150)
turtle.pendown()
turtle.circle(50) # 右眼-白
turtle.begin_fill() # 右眼-黑
turtle.circle(25)
turtle.end_fill()
练习七:画断开的两条线(如下图所示),画笔粗细设置为 3,黑色线段长为 20,中间间隔长度为 20,红色线段长为 100。
import turtle
turtle.pensize(3)
turtle.forward(20) #黑线
turtle.penup() # 跳
turtle.forward(20)
turtle.pendown()
turtle.pencolor('red')
turtle.forward(100) # 红线
练习八:使用 turtle 库绘制图案
1、需要隐藏海龟画笔
2、第一个圆填充黄色,第二个圆不填充颜色且边框为绿色,第三个圆不填充颜色且边框为红色
3、三个圆不能靠在一起
4、圆的大小和每个圆的距离可自行设置
import turtle
turtle.pensize(3)
turtle.fillcolor('yellow')
turtle.begin_fill()
turtle.circle(30)
turtle.end_fill()
turtle.penup() # 跳
turtle.forward(100)
turtle.pendown()
turtle.pencolor('green')
turtle.circle(30)
turtle.penup() # 跳
turtle.forward(100)
turtle.pendown()
turtle.pencolor('red')
turtle.circle(30)
turtle.hideturtle()
练习九:要求画一个笑脸,里面填充如图所示:
1、画一个半径为 200 的圆,起点坐标为(0,-200)
2、左眼为半径 20 的圆,起点坐标为(-100,50)填充蓝色左眼和右眼圆心相距 2003、鼻子的起点坐标为(0,50),形状为半径为-50 的内切正三角形4、左嘴坐标(-150,-70),嘴下部坐标(0,-170),右嘴角的坐标(150,-70)
from turtle import * #从海归库导入所有方法
penup() #跳
goto(0,-200)
pendown()
circle(200) #脸
penup() # 跳
goto(-100, 50)
pendown()
fillcolor('blue')
begin_fill() # 左眼
circle(20)
end_fill()
penup() # 跳
goto(100, 50)
pendown()
fillcolor('blue')
begin_fill() # 右眼
circle(20)
end_fill()
penup() # 跳
goto(0, 50)
pendown()
circle(-50,steps=3) #鼻子
penup() # 跳
goto(-150, -70)
pendown()
goto(0,-170)
goto(150,-70)
第4讲(print 输出)
代码:
print(数据或变量)
sep: 数据间用什么隔开。默认什么都没有
end: 不换行, 并且数据间用什么隔开。默认什么都没有
print(123) #输出:123
print(2+5) #输出:7 会输出表达式的结果
print('2+5=',2+5) #输出:2+5= 7 引号里面的直接输出
print(123,456) #输出: 123 456 中间有空格隔开
print(123,456,sep='') # 输出123456 中间没有空格隔开
print(123,456,sep='-') #输出123-456 中间用‘-’隔开
print(123,end='') #这两行会输出:123456 end:不换行
print(456)
print(123, end='%') # 这两行会输出:123%456 end:不换行,切用‘%’隔开
print(456)
字符串:
- 字符串用单引号或双引号括起来,如:“123”,“python”,‘小明’
- 字符串+字符串:两字符串拼接
- 字符串*整数: 字符串重复x次
注意: !!!!!!
- 数字不能和字符串相互加减
- 字符串和字符串不能乘除
print('123'+'abc') #拼接
print("new"*3) #重复3次
多行字符串:用三对单引号或双引号
注释:
单行注释:用‘#’号
多行注释:用三对单引号或双引号
#悯农
"""
锄禾日当午
汗滴禾下土
谁知盘中餐
粒粒皆辛苦
"""
练习:
判断下面程序是否能正常运行(不报错)
- print(1, 23)
- print(1+2+'3')
- print('a', 'b')
- print(1'+'2)
- print('a', 2)
- print(3*'t')
- print('1'+'a')
答案:√×√×√√√
第5讲(变量)
定义:
1、变量:在程序执行过程中数值可以发生改变的量。
变量的赋值:变量名= 数据
2、常量:在程序执行过程中数值始终不变的量。
变量名的命名规则:
1、变量名只能包含字母、数字、下划线(新的python版本支持中文命名)
2、变量名不能以数字开头
3、变量名区分大小写
4、变量名不能是关键字
关键字/保留字:
练习:
练习二:请给变量a赋值,赋值后再修改变量a的值,输出变量a修改前的值和修改后的值。
a=5
print(a)
a=10
print(a)
练习三:请将'张三'赋值给变量name,将'10岁'赋值给变量age,分别输出两个变量。
name='张三'
age='10岁'
print(name)
print(age)
练习五:变量a的值为1,变量b的值为2,编程交换两个变量的值并输出。
#方法一
a=1
b=2
c=a
a=b
b=c
print(a,b)
#方法二
a=1
b=2
a,b=b,a
print(a,b)
练习六:每张电影票的价格为30元,总共卖出304张票,请编程创建两个变量分别存储电影票价和卖票数量,计算票房的总收入并输出结果!
price=30
num=304
print(price*num)
第6讲(input输出、数据类型)
知识点:
1、输入函数
变量 = input()
input()输出的是字符串类型
a=input() #把输入的数据存到a里
2、数据类型
字符串(str):‘abc’、‘123’、"你好啊"
数值型:
整型(int):123、456、1、2
浮点型(float):12.45、34.789、3.0 即小数。
3、查看数据类型
typy(数据)
print(type(123))
print(type("123"))
a=123
b='abc'
print(type(a))
print(type(b))
4、数据类型转换
str(数据):将括号中的数据类型转换成字符串型
int(数据):将括号中的浮点型或整数字符串转换成整型
float(数据):将括号中的整型或整数字符串转换成浮点型
eval(数据):将括号中的数字或数字字符串转换成数值型
str(123) #变成字符串“123”
str(12.345) #变成字符串“12.345”
int(12.56) #变成整数12
int("123") #变成整数123
# int("12.89") #报错,小数字符串不能转整数
float(123) #变成小数123.0
float("12.456") #变成小数12.345
a='2+3'
print(eval(a)) #输出5
当需要输入数字时可以使用
a=int(input()) #输入整数
a=float(input()) #输入小数
a=eval(input()) #输入数字
第12讲(if)
图解:
练习:
练习一: 编写程序,当输入图图的分数大于等于80分时,输出“奖励电脑一台”
n=int(input())
if n>=80:
print("奖励电脑一台")
练习二: 完善前面程序,当输入图图的分数小于80分时,输出“没有奖励”
n=int(input())
if n<80:
print("没有奖励")
练习三:输入一个数字代表年龄,判断是否成年,如果成年输出“已成年”,否则输出“未成年”。
n=int(input())
if n>=18:
print("已成年")
else:
print('未成年')
练习四: 请按照妈妈所说的奖惩规则编写程序。如果考到了80分奖励一台电脑。没考到80分,但考及格了,可以奖励一顿可乐鸡翅。如果没及格,胖揍一顿是免不了的!
n=int(input())
if n>=80:
print("奖励电脑一台")
if n<80 and n>=60:
print("可乐鸡翅")
else:
print('胖揍一顿')
第13讲(elif)
图解:
1、当某一个条件判断成立时,其余条件直接跳过,不做判断。
2、elif语句需要在if语句之后使用,且elif语句的数量是没有限制的。
3、分支语句可以继续嵌套分支语句,嵌套的层数没有限制。
4、程序中,可以没有else语句
练习:
练习一:请编写程序,输入一个整数代表总价,实现满200元时,输出打9折后的价格,满300元时,输出打8折后的价格,不满足时输出原价。
n=int(input())
if n>=300:
print(n*0.8)
elif n>=200:
print(n*0.9)
else:
print(n)
练习二:请编写程序,输入一个整数代表总价,实现满200元时,输出打9折后的价格,满300元时,输出打8折后的价格,满400元时,输出打7折后的价格,不满足时打印原价。
n=int(input())
if n>400:
print(n*0.7)
elif n>=300:
print(n*0.8)
elif n>=200:
print(n*0.9)
else:
print(n)
联系三:请编写程序,在第2题基础上,输入总价,再输入‘是’或‘否’,实现判断用户是否为老用户,若用户为老用户,则可以在原有基础上享受8.8折的效果。
方法一:
n=int(input())
t=input()
if t=='是':
if n > 400:
print(n*0.7*0.88)
elif n >= 300:
print(n*0.8*0.88)
elif n >= 200:
print(n*0.9*0.88)
else:
print(n*0.88)
else:
if n > 400:
print(n*0.7)
elif n >= 300:
print(n*0.8)
elif n >= 200:
print(n*0.9)
else:
print(n)
方法二:
n=int(input())
t=input()
if n>400:
n=n*0.7
elif n>=300:
n=n*0.8
elif n>=200:
n=n*0.9
if t=='是':
print(n*0.88)
else:
print(n)
第14讲(列表)
列表:list=[1,2,3,4,5]
图解:
增删改查:
查:
1、正序查找(索引)从0开始 2、逆序查找(索引)从-1开始
list=[2,5,3.5,1.5,7]
print(list)
print(list[0])
print(list[-1])
增:
列表名.append(元素) —–末尾添加
列表名.insert(索引值,元素)—–指定位置添加
题目:在list=[2,5,3.5,1.5,7]后添加元素8、10
方法一:
list = [2, 5, 3.5, 1.5, 7]
list.append(8)
list.append(10)
print(list)
方法二:
list = [2, 5, 3.5, 1.5, 7]
list.insert(5,8)
list.insert(6,10)
print(list)
改:
题目:把list=[2,5,3.5,1.5,7]中的2替换成10
list = [2, 5, 3.5, 1.5, 7]
list[0]=10 #根据位置修改
print(list)
删:
1、列表名.remove(元素)
2、del 列表名[索引]
3、列表名.pop(索引) — 会返回删除的值
练习:
删除第二个元素5。(索引值为1)
1、remove:如果列表中出现多个相同元素,使用remove删除时,默认从左到右逐一进行删除。
list = [2, 5, 3.5, 1.5, 7]
list.remove(5)
print(list)
2、del:根据索引值删除
list = [2, 5, 3.5, 1.5, 7]
del list[1]
print(list)
3、pop:根据索引值删除,并会返回删除的值
list = [2, 5, 3.5, 1.5, 7]
a=list.pop(1)
print(a)
print(list)
第15讲(二维列表)
切片:
print ( lis [ 起始索引 : 终止索引 ] )
print ( lis [ 起始索引 : 终止索引 : 步长] )
lis=[3,4,5,6,7,8,9,10]
print(lis[1:5]) #输出索引值1~4的元素。包含左边,不包含右边。
print(lis[:5]) #输出索引值0~4的元素。无起始值就从0开始
print(lis[6:]) #输出索引值6~最后的元素。无终止位置,就到列表末尾
print(lis[1:8:2]) #输出索引值1~7的元素,且步长为2
二维列表:
lis=[['小明',98,96],['小红',97,89],['小杰',67,99]]
print(lis[2][1])
print(lis[0][2])
a = [['小明', 98, 96], ['小红', 97, 89], ['小杰', 67, 99,['三好学生','文明之星']]]
print(a[2][3][1])
第16讲
1、列表排序
sort:从小到大排序,改变原数组
sorted:从小到大排序,不改变原数组
ls1=[1,4,3,8]
ls1.sort()
print(ls1)
ls2=[2,9,4,8]
p=sorted(ls2)
print(ls2)
print(p)
reverse():逆序
#对原列表逆序
ls1=[1,4,3,8]
ls1.reverse()
print(ls1)
#直接逆序
ls2=[2,9,4,8]
p=sorted(ls2,reverse=True)
print(p)
#先从小到大排序,再逆序
ls3=[4,1,9,5]
q=sorted(ls3)
q.reverse()
print(q)
2、列表长度
len(列表名):求列表长度
ls=[1,3,"python",[4,5]]
m=len(ls)
print(m)
print(len(ls))
3、列表数值方法
max(列表名):取最大值
min(列表名):取最小值
sum(列表名):求和
sum(列表名)/len(列表名):求平均值
ls=[1,2,3,4]
print(max(ls))
print(min(ls))
print(sum(ls))
print(sum(ls)/len(ls))
4、列表拼接与复制
拼接:列表+列表
复制:列表*次数n
指定字符连接:“拼接字符”.join(列表名) #该列表不能是数字列表
ls1=[1,2,3]
ls2=[4,5,6]
ls=ls1+ls2
print(ls)
print(ls1*3)
ls3=['a','b','c','d']
s="+".join(ls3)
print(s)
5、获取列表元素的索引
列表名.index(查找的元素)
注意:若查找的元素在列表中有多个,返回第一个元素的索引。
ls=[1,2,3,4,3]
print(ls.index(3))
6、转化成列表
list()
s='python'
ls=list(s)
print(ls)
作者:小码cool