Python利用turtle库绘制国际黑白象棋棋盘(Python系列习题)

#turtle.forward(diatance)向当前画笔方向移动dis像素长度
#turtle.goto(x,y)将画笔移动到坐标为x,y额位置
#turtle.penup()提起笔移动,不绘制图形,用于另起一个地方绘制
#turtle.pendown()移动时绘制图形,缺省时也为绘制
#turtle.fillcolor(colorstring)绘制图形的填充颜色
#turtle.begin_fill()准备开始填充图形
#turtle.end_fill()填充完成
#turtle.left(degree)逆时针移动degree°
#turtle.right(degree)顺时针移动degree°
#turtle.pencolor():没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色,可以是字符串如"green", "red",也可以是RGB 3元组
#turtle.speed(speed):设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快。
# turtle.pensize():设置画笔的宽度
# turtle.setup(width=0.5, height=0.75, startx=None, starty=None),
#参数:width, height: 输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例,
#(startx, starty): 这一坐标表示矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心。

以上是相关语法的注释,便于初学者理解下面代码

import turtle #引入turtle库
n = 60  # 方块大小
x = -300   #  x初始值,可以根据自己需要进行设置
y = -300   #  y初始值 
turtle.speed(5)#绘制速度
turtle.pensize(2)#画笔宽度
# 画出8行8列的黑白棋盘
for i in range(8):#默认从0开始,01234567
    for j in range(1, 9):#12345678
        turtle.penup()#抬起画笔进行移动
        turtle.goto(x + i * n, y + j * n )
        turtle.pendown()#落下画笔开始绘制
        if (i + j) % 2 == 1:   #绘制白块
            for index in range(4):
                turtle.forward(n)#依次绘制方块的四边的长度
                turtle.left(90)#逆时针旋转90度
        elif (i + j) % 2 == 0:  #涂黑绘制黑块
            turtle.begin_fill()#开始填充
            turtle.fillcolor('black')
            for index in range(4):
                turtle.forward(n)
                turtle.left(90)
            turtle.end_fill()
        
turtle.penup()
turtle.goto(-320,-260)#回到开始绘制的起点的左下方进行外围框的绘制
turtle.pendown()
#开始绘制最外面的框
for index in range(4):
    turtle.forward(520)
    turtle.left(90)
#开始书写左边的数字
for s in range(1,9):
    turtle.penup()
    turtle.goto(-330,-210+(s-1)*60)#固定x轴的位置,y轴的值根据位置变化
    turtle.pendown()
    turtle.write(s)
    turtle.forward(5)
#开始书写下方的字母    
for s in range(8):
    turtle.penup()
    turtle.goto(-270+s*60,-260)
    turtle.pendown()
    turtle.write(chr(65+s))
    turtle.forward(5)

运行结果:

在这里插入图片描述

a = int(input(''))
b = a * 10
print("input:<{}>".format(a))
print("output:<{}>".format(b))

这个是两个数求最大值

a = int(input(''))
b = int(input(''))
if a<b:
    max = b
    print("较大的数是:{}".format(b))
elif a==b:
    print("一样大")
else:
    print("较大的数是:{}".format(a))
    

求闰年:

year=int(input("请输入一个年份"))
if year%4==0 and year%100!=0 or year%400==0:
    print(year,"是闰年")
else:
    print(year,"不是闰年")

求闰年的个数:

count = 0
for i in range(1600,2000):   # 1600年至2000年的所有闰年的个数
    if i%4==0 and i%100!=0 or i%400==0:
        count+=1
print("闰年的次数为:{}".format(count))

求奇数、偶数的个数:这里我构造了一个列表,求列表里的奇数、偶数的个数

list1 = []
x = int(input())
while(x != 0):
    list1.append(x)
    x = int(input())
n1 = 0
n2 = 0
for i in range(0,len(list1)):
    if(list1[i] % 2 == 1):
        n1 += 1
    else:
        n2 += 1
print ("奇数有" + str(n1) + "个")
print ("偶数有" + str(n2) + "个")

从键盘中获取两个整数(要求用空格分开),并将其中的奇数的个数求出来:

a,b=map(int,input('请输入两个整数:').split())
count = 0
for i in range(a,b+1):  
    if i%2==1:
        count+=1
print("奇数的次数为:{}".format(count))

求偶数值求和:

list1 = []
x = int(input())
while(x != 0):
    list1.append(x)
    x = int(input())
n1 = 0
n2 = 0
for i in range(0,len(list1)):
    if(list1[i] % 2 == 0):
        n1 += list1[i]
print("偶数和为:{}".format(n1))

从键盘中输入若干个数,并将其中的偶数累加求和

s= list(map(int,input().split()))
n1=0
for i in range(0,len(s)):
    if(s[i] % 2 == 0):
        n1 += s[i]
print("偶数和为:{}".format(n1))

实现1-100的累加:
1、用for循环:

sum=0
for i in range(1,101):
    sum+=i
print(sum)

2、用while循环:

a=int(input('请输入一个数:'))
sum=0
while a>=1:
    sum+=a
    a=a-1
print(sum)

3、递归方式:

a=int(input('请输入一个数:'))
def chengfa(x):
    if x==0:
        return 0;
    else:
        return x+chengfa(x-1)
b=chengfa(a)
print(b)

实现输入一个数的累乘:
1、递归方式

a=int(input('请输入一个数:'))
def chengfa(x):
    if x==0:
        return 1;
    else:
        return x*chengfa(x-1)
b=chengfa(a)
print(b)

2、for循环

a=int(input('请输入一个数:'))
sum=1
for i in range(a,0,-1):
    sum*=i

print(sum)
3、while循环

a=int(input('请输入一个数:'))
sum=1
while a>=1:
    sum*=a
    a=a-1
print(sum)
  • 6
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用turtle绘制中国象棋棋盘,具体实现可以参考以下代码: import turtle # 设置画布大小 turtle.setup(800, 800) # 设置画笔颜色和粗细 turtle.pensize(2) turtle.pencolor("black") # 绘制棋盘边框 turtle.penup() turtle.goto(-300, 300) turtle.pendown() turtle.goto(300, 300) turtle.goto(300, -300) turtle.goto(-300, -300) turtle.goto(-300, 300) # 绘制棋盘横线 turtle.penup() turtle.goto(-300, 240) turtle.pendown() turtle.goto(300, 240) turtle.penup() turtle.goto(-300, 180) turtle.pendown() turtle.goto(300, 180) turtle.penup() turtle.goto(-300, 120) turtle.pendown() turtle.goto(300, 120) turtle.penup() turtle.goto(-300, 60) turtle.pendown() turtle.goto(300, 60) turtle.penup() turtle.goto(-300, ) turtle.pendown() turtle.goto(300, ) turtle.penup() turtle.goto(-300, -60) turtle.pendown() turtle.goto(300, -60) turtle.penup() turtle.goto(-300, -120) turtle.pendown() turtle.goto(300, -120) turtle.penup() turtle.goto(-300, -180) turtle.pendown() turtle.goto(300, -180) turtle.penup() turtle.goto(-300, -240) turtle.pendown() turtle.goto(300, -240) # 绘制棋盘竖线 turtle.penup() turtle.goto(-240, 300) turtle.pendown() turtle.goto(-240, -300) turtle.penup() turtle.goto(-180, 300) turtle.pendown() turtle.goto(-180, -300) turtle.penup() turtle.goto(-120, 300) turtle.pendown() turtle.goto(-120, -300) turtle.penup() turtle.goto(-60, 300) turtle.pendown() turtle.goto(-60, -300) turtle.penup() turtle.goto(, 300) turtle.pendown() turtle.goto(, -300) turtle.penup() turtle.goto(60, 300) turtle.pendown() turtle.goto(60, -300) turtle.penup() turtle.goto(120, 300) turtle.pendown() turtle.goto(120, -300) turtle.penup() turtle.goto(180, 300) turtle.pendown() turtle.goto(180, -300) turtle.penup() turtle.goto(240, 300) turtle.pendown() turtle.goto(240, -300) # 隐藏画笔 turtle.hideturtle() # 等待用户关闭窗口 turtle.done()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值