用python函數(shù)畫國旗 利用python畫國旗

急求!這是一個(gè)用python畫國旗的程序,請(qǐng)求大神解釋一下每一步是干嘛的

import turtle //導(dǎo)入模塊

專業(yè)領(lǐng)域包括成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司、成都做商城網(wǎng)站、微信營銷、系統(tǒng)平臺(tái)開發(fā), 與其他網(wǎng)站設(shè)計(jì)及系統(tǒng)開發(fā)公司不同,創(chuàng)新互聯(lián)的整合解決方案結(jié)合了幫做網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗(yàn)和互聯(lián)網(wǎng)整合營銷的理念,并將策略和執(zhí)行緊密結(jié)合,為客戶提供全網(wǎng)互聯(lián)網(wǎng)整合方案。

import time

import os

def draw_square(org_x, org_y, x, y): //定義紅旗繪制函數(shù)

turtle.setpos(org_x, org_y) //定義畫筆初始位置

turtle.color('red', 'red') //顏色

turtle.begin_fill() //開始繪制

turtle.fd(x) //繪制偏轉(zhuǎn)方向和角度

turtle.lt(90)

turtle.fd(y)

turtle.lt(90)

turtle.fd(x)

turtle.lt(90)

turtle.fd(y)

turtle.end_fill() //繪制結(jié)束

def draw_star(center_x, center_y, radius): //定義星星繪制函數(shù)

print(center_x, center_y) //顯示位置

turtle.pencolor('black') //畫筆軌跡顏色

turtle.setpos(center_x, center_y) //中心點(diǎn)位置

pt1 = turtle.pos() //偏轉(zhuǎn)角度計(jì)算

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() //繪制結(jié)束

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 //計(jì)算星星中心點(diǎn)位置

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) //設(shè)置掛起時(shí)間

os._exit(1)

怎么用Python畫加納國旗

#?python6.6

import?turtle

def?test():

#?加納共和國國旗呈長方形,長與寬之比為3∶2。

#?自上而下由紅、黃、綠三個(gè)平行相等的橫長方形組成,黃色部分中間是一顆黑色五角星。

flag_h?=?300

flag_w?=?450

star_h?=?flag_h/3

turtle.pensize(2)

turtle.speed(5)

turtle.hideturtle()

def?draw_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()

for?i?in?range(5):

turtle.forward(star_h)

turtle.right(180-36)

turtle.end_fill()

turtle.done()

if?__name__?==?"__main__":

test()

如何用Python畫澳大利亞國旗

把整個(gè)國旗換成直角坐標(biāo)系。

在Python中繪制標(biāo)準(zhǔn)國旗并不簡單,我們采用的方法在數(shù)學(xué)上稱為解析法。把整個(gè)國旗換成直角坐標(biāo)系,中心坐標(biāo)為(0,0)。每個(gè)小格邊長20,則國旗左上角坐標(biāo)為(-300,200)、國旗長600,高400。Turtle是小海龜繪圖庫,Math是數(shù)學(xué)庫,要用到里面的三角函數(shù)和反三角函數(shù),以及圓周率pi值。

Python是一種解釋型、面向?qū)ο蟆?dòng)態(tài)數(shù)據(jù)類型的高級(jí)程序設(shè)計(jì)語言。 Python于1989年底發(fā)明,第一個(gè)公開發(fā)行版發(fā)行于1991年。

請(qǐng)問一下網(wǎng)友老鐵們 美國國旗用python怎么做呀 求其代碼 謝謝拉

參考下五星紅旗

code#!/usr/bin/env python

# -*- coding: utf-8 –*-

''' 對(duì)于turtle類的一些封裝方法,包括畫正多邊形,正多角形和五星紅旗。'''

__author__ = 'Hu Wenchao'

import turtle

import math

def draw_polygon(aTurtle, size=50, n=3):

''' 繪制正多邊形

args:

aTurtle: turtle對(duì)象實(shí)例

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角形,默認(rèn)為黃色

args:

aTurtle: turtle對(duì)象實(shí)例

size: int類型,正多角形的邊長

n: int類型,是幾角形

color: str, 圖形顏色,默認(rèn)不填色

'''

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):

''' 根據(jù)起始位置、結(jié)束位置和外接圓半徑畫五角星

args:

aTurtle: turtle對(duì)象實(shí)例

start_pos: int的二元tuple,要畫的五角星的外接圓圓心

end_pos: int的二元tuple,圓心指向的位置坐標(biāo)點(diǎn)

radius: 五角星外接圓半徑

color: str, 圖形顏色,默認(rèn)不填色

'''

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: 五星紅旗的規(guī)格為30*20, times為倍數(shù),默認(rèn)大小為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')

# 畫四個(gè)小星星

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')

# 點(diǎn)擊關(guān)閉窗口

window.exitonclick()

if __name__ == '__main__':

draw_5_star_flag()

/code

分享題目:用python函數(shù)畫國旗 利用python畫國旗
當(dāng)前鏈接:http://www.muchs.cn/article20/hjeijo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、外貿(mào)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站網(wǎng)站改版、建站公司、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)