zoukankan      html  css  js  c++  java
  • Python第二周作业

    绘制五角星

     1 import turtle
     2 
     3 turtle.color('black','red')
     4 turtle.pensize(10)
     5 turtle.begin_fill()
     6 for i in range(5):
     7     turtle.fd(200)
     8     turtle.rt(144)
     9     
    10 turtle.end_fill()
    Superstar

    绘制一组同心圆

    从键盘输入半径、绘制同心圆的个数及画笔的颜色

     1 import turtle
     2 
     3 turtle.pensize(10)
     4 
     5 r=eval(input())
     6 n=eval(input())
     7 color=input()
     8 turtle.pencolor(color)
     9 
    10 for i in range(n):
    11     turtle.circle(r+(i-1)*20,360)#每个同心圆的半径差为20
    12     turtle.penup()
    13     turtle.right(90)
    14     turtle.forward(20)
    15     turtle.left(90)
    16     turtle.pendown()
    同心圆

    键盘输入:

                        20

                        4

                        red

    绘制渐变的圆

    描述

    利用turtle库的circle(50)函数可以画半径为50的圆,circle(50,steps=n)可以画半径为50的圆的内接正n边形,利用这个方法绘制示例中的图形,设置画笔为蓝色并用黄色填充图形。n由用户输入,要求n>=3且小于10。(注意:最后一个必须是圆,不能是正多边形)‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

     ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬

    输入格式

    一个大于等于3且小于10的正整数

     1 #渐变的圆
     2 import turtle
     3  
     4 number = int(input())      #把用户输入转成整数
     5 
     6 turtle.screensize(1200,1000)
     7 turtle.penup()
     8 turtle.goto(-300,0)
     9 turtle.pendown()
    10 
    11 turtle.pensize(5)       
    12 turtle.color("blue","yellow")
    13 turtle.begin_fill()         
    14 turtle.forward(-50)
    15  
    16 for i in range(3,number):
    17     turtle.circle(50, steps=i)
    18     turtle.forward(100)
    19     
    20 turtle.circle(50, steps=number)
    21 if number == 1:
    22     turtle.circle(50)
    23 else:
    24     turtle.forward(100)
    25     turtle.circle(50)
    26 turtle.end_fill()
    27 turtle.hideturtle()         #隐藏海龟
    View Code

    输入:10

    输出:

    绘制叠加的等边三角形

     1 import turtle
     2 turtle.pensize(10)
     3 turtle.color('purple','pink')
     4 turtle.begin_fill()
     5 
     6 turtle.forward(100)
     7 turtle.right(120)
     8 turtle.forward(100)
     9 
    10 turtle.right(120)
    11 turtle.forward(100)
    12 turtle.right(60)
    13 turtle.forward(100)
    14 
    15 turtle.right(120)
    16 turtle.forward(200)
    17 turtle.right(120)
    18 turtle.forward(200)
    19 turtle.right(120)
    20 turtle.forward(100)
    21 
    22 turtle.end_fill()
    叠加三角形

     绘制奥运五环

     1 #五环
     2 import turtle     #引用turtle库
     3 turtle.pensize(10)   #设置画笔大小
     4 coordA=[-110,0,110,-55,55]    #各个圆X轴坐标
     5 coordB=[-25,-25,-25,-75,-75]   #各个圆的Y坐标
     6 colors=["red","blue","green","yellow","black"]
     7 for i in range(5):
     8     turtle.pencolor(colors[i])
     9     turtle.penup() 
    10     turtle.goto(coordA[i],coordB[i])
    11     turtle.pendown()
    12     turtle.circle(45)
    13 turtle.hideturtle()  #隐藏画笔
    五环

     啊~五环!你比六环少一环~

    绘制八卦阵

     1 #八卦阵
     2 import turtle
     3 turtle.pensize(5)                  #画笔大小
     4 turtle.penup()
     5 turtle.goto(0,120)
     6 turtle.pendown()
     7 
     8 turtle.color("black","black")
     9 turtle.begin_fill()
    10 turtle.circle(-120,180)
    11 turtle.circle(-60,180)
    12 turtle.circle(60,180)
    13 turtle.end_fill()
    14 turtle.circle(120,180)
    15 
    16 turtle.penup()
    17 turtle.goto(0,40)
    18 turtle.pendown()
    19 turtle.begin_fill()
    20 turtle.circle(20)
    21 turtle.end_fill()
    22 
    23 turtle.color("black","white")
    24 turtle.penup()
    25 turtle.goto(0,-80)
    26 turtle.pendown()
    27 turtle.begin_fill()
    28 turtle.circle(20)
    29 turtle.end_fill()
    30 
    31 turtle.hideturtle()                #隐藏画笔
    八卦阵

    这里我们取大圆的半径为120,中圆自然是它的一半,小圆我们取中圆的三分之一。这样以后,各个点的坐标都出来了

     天灵灵,地灵灵~

    绘制国际象棋盘

     1 #国际象棋
     2 import turtle
     3 turtle.pensize(3)
     4 turtle.screensize(1200,1000)   #画布大小
     5 turtle.color("black","black")  
     6 n=eval(input())    #输入一个数
     7 
     8 turtle.penup()  
     9 turtle.goto(-4*n,4*n)     #从左上角开始画
    10 turtle.pendown()           
    11 turtle.forward(8*n)       #先画一个大的正方形
    12 turtle.right(90)          
    13 turtle.forward(8*n)
    14 turtle.right(90)
    15 turtle.forward(8*n)
    16 turtle.right(90)
    17 turtle.forward(8*n)
    18 
    19 coordA=[-3*n,-n,n,3*n]    
    20 coordB=[4*n,2*n,0,-2*n]
    21 
    22 for i in range(4):
    23     for j in range(4):
    24         turtle.penup()
    25         turtle.goto(coordA[i],coordB[j])
    26         turtle.pendown()
    27         turtle.begin_fill()
    28         turtle.right(90)
    29         turtle.forward(n)
    30         turtle.right(90)
    31         turtle.forward(n)
    32         turtle.right(90)
    33         turtle.forward(n)
    34         turtle.right(90)
    35         turtle.forward(n)
    36         turtle.end_fill()
    37 
    38 coordC=[-4*n,-2*n,0,2*n]
    39 coordD=[3*n,n,-n,-3*n]
    40 
    41 for i in range(4):
    42     for j in range(4):
    43         turtle.penup()
    44         turtle.goto(coordC[i],coordD[j])
    45         turtle.pendown()
    46         turtle.begin_fill()
    47         turtle.right(90)
    48         turtle.forward(n)
    49         turtle.right(90)
    50         turtle.forward(n)
    51         turtle.right(90)
    52         turtle.forward(n)
    53         turtle.right(90)
    54         turtle.forward(n)
    55         turtle.end_fill()
    56 
    57 turtle.hideturtle()
    国际象棋盘

    题目: 画一个国际象棋盘,小格边长由用户输入‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬2020-03-19

    思路:先画一个大的正方形,设定一个N值为小正方形的边长。这样我们可以找到每个小正方形的坐标。开始绘画,按一下思路,这里会用到两层循环哦!

    这是过程图:

    这是结果:

     注:从开始填充到结束填充,需要的是起点和终点都是同一个点。也就是说,一个封闭的图形才可以填充,否则,将会是起点和终点的连线之间所有封闭图形的填充。这也是我采用这种思路的原因。

    感谢大家的浏览!

  • 相关阅读:
    MOSS的权限控制很好很强大的
    infopath:InfoPath 上传多附件解决思路方法
    http://www.cnblogs.com/ahjxxy/archive/2010/08/09/1796125.html
    MOSS-批量自定义列表项权限
    ABAP中ALV导出excel表格时有个字段总是少一位,请问是什么原因?如何解决?
    SAP ABAP AT NEW 和AT END OF的用法
    ABAP 的message 的创建及使用
    Screen返回选择界面的问题
    SPELL_AMOUNT
    【ABAP内表】关于At first/ At last/ At new /At end of
  • 原文地址:https://www.cnblogs.com/xugama/p/12536754.html
Copyright © 2011-2022 走看看