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)

字符串:

  1. 字符串用单引号或双引号括起来,如:“123”,“python”,‘小明’ 
  2. 字符串+字符串:两字符串拼接
  3. 字符串*整数: 字符串重复x次

注意:  !!!!!! 

  1. 数字不能和字符串相互加减
  2. 字符串和字符串不能乘除
print('123'+'abc') #拼接
print("new"*3)   #重复3次

 多行字符串:用三对单引号或双引号

注释:

单行注释:用‘#’号

多行注释:用三对单引号或双引号

#悯农

"""
锄禾日当午
汗滴禾下土
谁知盘中餐
粒粒皆辛苦
"""

 练习:

判断下面程序是否能正常运行(不报错)

  1. print(1, 23)
  2. print(1+2+'3')
  3. print('a', 'b')
  4. print(1'+'2)
  5. print('a', 2)
  6. print(3*'t')
  7. 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

物联沃分享整理
物联沃-IOTWORD物联网 » python少儿编程(更新中…)

发表回复