一、基础一: turtle
(1)画圆 (circle() 有三个参数:radius必须,extent–角度 与step–图形(可有可无))
1、radius – 任意大小圆
import turtle
t = turtle.Turtle()
t.circle(x)
2、radius extent — 任意大小圆得部分
半圆
import turtle
t = turtle.Turtle()
t.circle(100,180)
3、 radius extent steps # 可实现多边形的绘制
import turtle
t = turtle.Turtle()
t.circle(100,180,3)
4、 radius step #三角形
import turtle
t = turtle.Turtle()
t.circle(100,steps=3)
5、实心圆
t.hot()
(2)画笔的转换(shape()函数的使用)可填写如下图形:
1、海龟 turtle
2、等边三角形 triangle 等腰三角形 arrow
3、正方形 square
4、实心圆 circle
(3)画笔的绘制状态
1、pendown()
2、penup()
3、pensize() #可直接写数字
(4)画笔的运动状态
1、t.forward() / t.fd()箭头方向前进
2、t.backward() / t.bd() ------后退
3、t.left() / t.right()
4、t.goto() / t.setpos() ----移到某一位置
5、t.setx() / t.sety() ---- 改变x坐标或者Y坐标
6、t.home() ---- 回到初始位置
7、t.position() / t.pos() print(t.pos)—返回当前箭头坐标
(4)画笔的隐藏与显示
1、隐藏 hideturtle() / ht()
2、显示 showturtle() / st()
(5)颜色
1、turtle.begin_fill():在填充图形前访问这个方法
2、turtle.end_fill():在最后调用begin_fill之前填充绘制的图形
3、turtle.color©:设置笔的颜色
4、turtle.fillcolor©:设置笔填充颜色
1、在begin_fill()和end_fill()之间设置的turtle.color©和turtle.fillcolor©都可以作为填充色
2、将turtle.color©提到前面,不写begin_fill()和end_fill(),则就不会实现填充
3、将turtle.color©提到前面,并在begin_fill()和end_fill()之间设置turtle.fillcolor©,那么图形的边框和内部填充颜色分别对应于color和fillcolor
4、在begin_fill()和end_fill()之间设置不同的turtle.color©和turtle.fillcolor©,则以排序在后面的为准去填充图形
补充:
(1)input # 输入的数字为字符串
import turtle
num = int(input(""))
t = turtle.Turtle()
t.circle(num)
(2)random
print( random.randint(1,10) ) # 产生 1 到 10 的一个整数型随机数
print( random.random() ) # 产生 0 到 1 之间的随机浮点数
print( random.uniform(1.1,5.4) ) # 产生 1.1 到 5.4 之间的随机浮点数,区间可以不是整数
print( random.choice(‘tomorrow’) ) # 从序列中随机选取一个元素
print( random.randrange(1,100,2) ) # 生成从1到100的间隔为2的随机整数
turtle、input、random可相互结合演示
二、基础2
for 循环 while循环
(1)九九乘法表
for i in range(10):
for j in range(i+1):
print("%d*%d=%2d “%(i,j,i*j),end=”")
print()
n = 1
while n <= 9:
m = 1
while m<= 9:
print("%d*%d=%2d “%(n,m,n*m), end=”")
m += 1
print()
n += 1
(2)打印图形
1、三角形
for i in range(10):
for j in range(1,i):
print("*",end="")
print()
for i in range(10):
for j in range(10-i):
print("*",end="")
print()
2、正方形
for i in range(5):
for j in range(10):
print("*",end="")
print()
3、正三角形
for i in range(1,6):
for j in range(1,6-i):
print(" “,end=”")
for k in range(1,i+1):
print("* “,end=”")
print("")
三、基础 算法
1、1-100的和(不使用sum()函数)
sum = 0
for i in range(101):
sum = sum+i
print(sum)
使用算法
sum = int((1+100)*100/2) #不加int会出现小数
print(sum)
2、冒泡排序
def maopao(list):
le = len(list)
for i in range(le):
for j in range(le-1):
if list[i] > list [j]:
list[j], list[i] = list[i], list[j] #从大到小
print(list)
list = [12,43,54,23,765,243,867,5,7]
maopao(list)
3、汉诺塔()
ta1 = [i for i in range(10,0,-1)]
ta2 = []
ta3 = []
n = len(ta1)
def move(n, ta1,ta2,ta3):
if n == 1:
ta3.append(ta1.pop())
else:
move(n - 1,ta1,ta3,ta2)
ta3.append(ta1.pop())
move(n-1,ta2,ta1,ta3)
move(n,ta1,ta2,ta3)
print(ta1)
print(ta3)