❶ 急求!這是一個用python畫國旗的程序,請求大神解釋一下每一步是幹嘛的
import turtle //導入模塊
import time
import os
def draw_square(org_x, org_y, x, y): //定義紅旗繪制函數
turtle.setpos(org_x, org_y) //定義畫筆初始位置
turtle.color('red', 'red') //顏色
turtle.begin_fill() //開始繪制
turtle.fd(x) //繪制偏轉方向和角度
turtle.lt(90)
turtle.fd(y)
turtle.lt(90)
turtle.fd(x)
turtle.lt(90)
turtle.fd(y)
turtle.end_fill() //繪制結束
def draw_star(center_x, center_y, radius): //定義星星繪制函數
print(center_x, center_y) //顯示位置
turtle.pencolor('black') //畫筆軌跡顏色
turtle.setpos(center_x, center_y) //中心點位置
pt1 = turtle.pos() //偏轉角度計算
turtle.circle(-radius, 360 / 5)
pt2 = turtle.pos()
turtle.circle(-radius, 360 / 5)
pt3 = turtle.pos()
turtle.circle(-radius, 360 / 5)
pt4 = turtle.pos()
turtle.circle(-radius, 360 / 5)
pt5 = turtle.pos()
turtle.color('yellow', 'yellow') //星星顏色
turtle.begin_fill() //開是繪制
turtle.goto(pt3)
turtle.goto(pt1)
turtle.goto(pt4)
turtle.goto(pt2)
turtle.goto(pt5)
turtle.end_fill() //繪制結束
print(turtle.pos())
turtle.pu() //隱藏畫筆軌跡
draw_square(-320, -260, 660, 440) //繪制紅旗
star_part_x = -320 //自定義星星大小等屬性
star_part_y = -260 + 440
star_part_s = 660 / 30
center_x, center_y = star_part_x + star_part_s * 5, star_part_y - star_part_s * 5 //計算星星中心點位置
turtle.setpos(center_x, center_y)
turtle.lt(90)
draw_star(star_part_x + star_part_s * 5, star_part_y - star_part_s * 2, star_part_s * 3) //繪制星星
turtle.goto(star_part_x + star_part_s * 10, star_part_y - star_part_s * 2) //同上
turtle.lt(round(turtle.towards(center_x, center_y)) - turtle.heading())
turtle.fd(star_part_s)
turtle.rt(90)
draw_star(turtle.xcor(), turtle.ycor(), star_part_s)
turtle.goto(star_part_x + star_part_s * 12, star_part_y - star_part_s * 4)
turtle.lt(round(turtle.towards(center_x, center_y)) - turtle.heading())
turtle.fd(star_part_s)
turtle.rt(90)
draw_star(turtle.xcor(), turtle.ycor(), star_part_s)
turtle.goto(star_part_x + star_part_s * 12, star_part_y - star_part_s * 7)
turtle.lt(round(turtle.towards(center_x, center_y)) - turtle.heading())
turtle.fd(star_part_s)
turtle.rt(90)
draw_star(turtle.xcor(), turtle.ycor(), star_part_s)
turtle.goto(star_part_x + star_part_s * 10, star_part_y - star_part_s * 9)
turtle.lt(round(turtle.towards(center_x, center_y)) - turtle.heading())
turtle.fd(star_part_s)
turtle.rt(90)
draw_star(turtle.xcor(), turtle.ycor(), star_part_s)
turtle.ht()
time.sleep(5) //設置掛起時間
os._exit(1)
❷ 如何用Python畫澳大利亞國旗
把整個國旗換成直角坐標系。
在Python中繪制標准國旗並不簡單,我們採用的方法在數學上稱為解析法。把整個國旗換成直角坐標系,中心坐標為(0,0)。每個小格邊長20,則國旗左上角坐標為(-300,200)、國旗長600,高400。Turtle是小海龜繪圖庫,Math是數學庫,要用到裡面的三角函數和反三角函數,以及圓周率pi值。
Python是一種解釋型、面向對象、動態數據類型的高級程序設計語言。 Python於1989年底發明,第一個公開發行版發行於1991年。
❸ 如何用Python繪畫日本國旗
使用Python自己的繪圖工具即可,turtle。
#encoding:utf-8
#python3.6
importturtle
defdraw_japan_flag():
#日本國旗為「太陽旗」,呈長方形,長與寬之比為3∶2。旗面為白色,正中有一輪紅日。
#紅日半徑
r=150
#畫布尺寸(寬,高)
turtle.screensize(900,600)
#設置顯示窗口像素
turtle.setup(width=900,height=600)
#移動畫筆起點
turtle.penup()
turtle.goto(0,-r)
turtle.pendown()
#設置畫筆屬性
turtle.pensize(5)
turtle.pencolor("red")
turtle.fillcolor("red")
#繪制速度,1~10個不同速度等級,小於1或者大於10立即繪制
turtle.speed(0)
#開始繪制紅日
turtle.begin_fill()
turtle.circle(r)
turtle.end_fill()
turtle.mainloop()
if__name__=="__main__":
draw_japan_flag()
❹ 請問一下網友老鐵們 美國國旗用python怎麼做呀 求其代碼 謝謝拉
參考下五星紅旗
<code>#!/usr/bin/env python
# -*- coding: utf-8 –*-
''' 對於turtle類的一些封裝方法,包括畫正多邊形,正多角形和五星紅旗。'''
__author__ = 'Hu Wenchao'
import turtle
import math
def draw_polygon(aTurtle, size=50, n=3):
''' 繪制正多邊形
args:
aTurtle: turtle對象實例
size: int類型,正多邊形的邊長
n: int類型,是幾邊形
'''
for i in xrange(n):
aTurtle.forward(size)
aTurtle.left(360.0/n)
def draw_n_angle(aTurtle, size=50, num=5, color=None):
''' 繪制正n角形,默認為黃色
args:
aTurtle: turtle對象實例
size: int類型,正多角形的邊長
n: int類型,是幾角形
color: str, 圖形顏色,默認不填色
'''
if color:
aTurtle.begin_fill()
aTurtle.fillcolor(color)
for i in xrange(num):
aTurtle.forward(size)
aTurtle.left(360.0/num)
aTurtle.forward(size)
aTurtle.right(2*360.0/num)
if color:
aTurtle.end_fill()
def draw_5_angle(aTurtle=None, start_pos=(0,0), end_pos=(0,10), radius=100, color=None):
''' 根據起始位置、結束位置和外接圓半徑畫五角星
args:
aTurtle: turtle對象實例
start_pos: int的二元tuple,要畫的五角星的外接圓圓心
end_pos: int的二元tuple,圓心指向的位置坐標點
radius: 五角星外接圓半徑
color: str, 圖形顏色,默認不填色
'''
aTurtle = aTurtle or turtle.Turtle()
size = radius * math.sin(math.pi/5)/math.sin(math.pi*2/5)
aTurtle.left(math.degrees(math.atan2(end_pos[1]-start_pos[1], end_pos[0]-start_pos[0])))
aTurtle.penup()
aTurtle.goto(start_pos)
aTurtle.fd(radius)
aTurtle.pendown()
aTurtle.right(math.degrees(math.pi*9/10))
draw_n_angle(aTurtle, size, 5, color)
def draw_5_star_flag(times=20.0):
''' 繪制五星紅旗
args:
times: 五星紅旗的規格為30*20, times為倍數,默認大小為10倍, 即300*200
'''
width, height = 30*times, 20*times
# 初始化屏幕和海龜
window = turtle.Screen()
aTurtle = turtle.Turtle()
aTurtle.hideturtle()
aTurtle.speed(10)
# 畫紅旗
aTurtle.penup()
aTurtle.goto(-width/2, height/2)
aTurtle.pendown()
aTurtle.begin_fill()
aTurtle.fillcolor('red')
aTurtle.fd(width)
aTurtle.right(90)
aTurtle.fd(height)
aTurtle.right(90)
aTurtle.fd(width)
aTurtle.right(90)
aTurtle.fd(height)
aTurtle.right(90)
aTurtle.end_fill()
# 畫大星星
draw_5_angle(aTurtle, start_pos=(-10*times, 5*times), end_pos=(-10*times, 8*times), radius=3*times, color='yellow')
# 畫四個小星星
stars_start_pos = [(-5, 8), (-3, 6), (-3, 3), (-5, 1)]
for pos in stars_start_pos:
draw_5_angle(aTurtle, start_pos=(pos[0]*times, pos[1]*times), end_pos=(-10*times, 5*times), radius=1*times, color='yellow')
# 點擊關閉窗口
window.exitonclick()
if __name__ == '__main__':
draw_5_star_flag()
</code>
❺ 怎麼用Python畫迦納國旗
#python6.6
importturtle
deftest():
#迦納共和國國旗呈長方形,長與寬之比為3∶2。
#自上而下由紅、黃、綠三個平行相等的橫長方形組成,黃色部分中間是一顆黑色五角星。
flag_h=300
flag_w=450
star_h=flag_h/3
turtle.pensize(2)
turtle.speed(5)
turtle.hideturtle()
defdraw_rectangle(color):
turtle.pencolor(color)
turtle.fillcolor(color)
turtle.pendown()
turtle.begin_fill()
turtle.forward(flag_w)
turtle.right(90)
turtle.forward(star_h)
turtle.right(90)
turtle.forward(flag_w)
turtle.right(90)
turtle.forward(star_h)
turtle.end_fill()
turtle.penup()
turtle.back(star_h)
turtle.right(90)
turtle.penup()
turtle.goto(-flag_w/2,flag_h/2)
draw_rectangle("red")
draw_rectangle("yellow")
draw_rectangle("green")
#五角星
turtle.penup()
turtle.goto(0,star_h/2)
turtle.pencolor("black")
turtle.fillcolor("black")
turtle.right(90-18)
turtle.pendown()
turtle.begin_fill()
foriinrange(5):
turtle.forward(star_h)
turtle.right(180-36)
turtle.end_fill()
turtle.done()
if__name__=="__main__":
test()
❻ 怎麼用python的turtle庫畫出這個圖案,要代碼
import turtle as t
def quad(color):
t.begin_fill()
t.color(color)
t.forward(100)
t.left(36)
t.forward(100)
t.left(36*4)
t.forward(100)
t.left(36)
t.forward(100)
t.end_fill()
t.left(36*3)
for i in range(10):
if i%2:
quad('#99c8de')
else:
quad('#e5b9c4')
兩三年沒碰海龜了,覺得沒啥用,看你賞金又提了就回去學了學
❼ 怎麼利用python畫五星紅旗,求代碼,
importturtle
t=turtle.Turtle()
whileTrue:
t.forward(200)
t.right(144)
ifabs(t.pos())<1:
break
turtle.done()
上什麼課,最近好像很多人在畫五角星,還要滑鼠點什麼的
❽ python turtle庫畫天安門
將#替換為空格,代碼如下:
from turtle import *
speed('fastest')
def rectangle(h, v, c):#畫長方形
####pendown()
####pensize(1)
####fillcolor(c)
####begin_fill()
####for counter in range(1, 3):
########forward(h)
########right(90)
########forward(v)
########right(90)
####end_fill()
####penup()
def gate(x, y, r, c):#畫大門和小門
####fillcolor(c)
####begin_fill()
####penup()
####goto(x, y)
####pendown()
####setheading(0)
####right(90)
####forward(r*2)
####left(90)
####forward(r*2)
####left(90)
####forward(r*2)
####setheading(90)
####circle(r, 180)
####end_fill()
####setheading(0)
def trapezium(x, y, c):#畫地下的大梯形
####fillcolor(c)
####begin_fill()
####penup()
####goto(x, y)#goto(-200, 0)
####pendown()
####forward(400)
####right(60)
####forward(150)
####right(120)
####forward(550)
####right(120)
####forward(150)
####right(60)
####end_fill()
def roof1(x, y, c):#畫第1個屋檐
####fillcolor(c)
####begin_fill()
####penup()
####goto(x, y)
####pendown()
####left(60)
####forward(30)
####right(60)
####forward(225)
####right(60)
####forward(30)
####left(60)
####forward(-20)
####end_fill()
def roof2(x, y, c):#畫第2個屋檐
####fillcolor(c)
####begin_fill()
####penup()
####goto(x, y)
####setheading(0)
####pendown()
####left(60)
####goto(-75, 155)
####right(60)
####goto(75, 155)
####right(60)
####goto(125, 95)
####right(120)
####goto(x ,y)
####penup()
####end_fill()
pencolor('black')
trapezium(-200, 0, 'red')
penup()
goto(-105, 95)
rectangle(210, 20, 'red')
goto(-115, 50)
rectangle(230, 50, 'red')
roof1(-125, 50, 'orange')
roof2(-125, 95, 'orange')
gate(-90, 25, 10, 'brown')
gate(-65, 25, 10, 'brown')
gate(-40, 25, 10, 'brown')####
penup()
forward(40)
gate(20, 25, 10, 'brown')
gate(45, 25, 10, 'brown')
gate(70, 25, 10, 'brown')####
gate(-160, -100, 15, 'brown')
gate(-95, -100, 15, 'brown')
gate(-30, -70, 30, 'brown')####
gate(60, -100, 15, 'brown')
gate(125, -100, 15, 'brown')
done()