第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何為不同區(qū)域添加顏色

如何為不同區(qū)域添加顏色

猛跑小豬 2021-10-05 16:08:07
所以我使用兩種不同的設(shè)計創(chuàng)建了一個循環(huán)模式?,F(xiàn)在的問題是制作顏色,所以我必須要求用戶選擇 3 種不同的顏色,并使用它們來使設(shè)計的某些區(qū)域具有該顏色。例如,我的意思是,如果我要選擇 5x5 補(bǔ)丁布局,那么橫貫和下方的前 2 個圖案框應(yīng)該是一種顏色(因此是四個框),依此類推。編輯:清除混亂。所以如果你看看 500x500 的那一張。當(dāng)它詢問您想要的補(bǔ)丁大小時輸入“5”。你應(yīng)該看到兩種不同的圖案設(shè)計。我想要的是 x = 0 到 x = 200 和 y = 0 到 y = 200 是藍(lán)色。這意味著該區(qū)域中的所有東西(按區(qū)域,我的意思是那里的所有圖案設(shè)計)都應(yīng)該是藍(lán)色。x = 300 到 x = 500 和 y = 300 到 y = 500 應(yīng)使用相同的顏色。x = 300 到 x = 500 和 y = 0 到 y = 200 應(yīng)該是紅色,而 x = 0 到 x = 200 和 y = 300 到 y = 500 也應(yīng)該是紅色。剩下的就是中間的“+”部分,它應(yīng)該有第三種顏色,綠色。https://prntscr.com/m48xxd這就是我所說的顏色。所以左上角和右下角是相同的顏色。右上角和左下角是相同的顏色,“+”是另一種顏色。7. https://prntscr.com/m48xzm這里是 7x7 版本我現(xiàn)在只是添加了顏色,以便于查看。我已經(jīng)嘗試過執(zhí)行 'getX' 和 'getY',但我似乎做對了。
查看完整描述

2 回答

?
慕尼黑5688855

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超2個贊

關(guān)鍵是將所有東西參數(shù)化為合適大小的立方體,然后將填充代碼變成可以調(diào)用來填充這些立方體的子程序。下面是沿著這些行重新編寫的代碼,可以將任何奇數(shù) 3 或更大的數(shù)作為輸入處理:


from graphics import *


UNIT = 100


def patchWork(win, size):

    blocks = size // 2


    def hatch_box(x, y):

        for n in range(0, UNIT, UNIT//5):

            line = Line(Point(n + x * UNIT, y * UNIT), Point((x + 1) * UNIT, UNIT - n + y * UNIT))

            line.draw(win)


        for n in range(UNIT, 0, -UNIT//5):

            line = Line(Point(n + x * UNIT, (y + 1) * UNIT), Point(x * UNIT, UNIT - n + y * UNIT))

            line.draw(win)


        for n in range(UNIT, 0, -UNIT//5):

            line = Line(Point((x + 1) * UNIT, n + y * UNIT), Point(n + x * UNIT, (y + 1) * UNIT))

            line.setFill('red')

            line.draw(win)


        for n in range(0, UNIT, UNIT//5):

            line = Line(Point(x * UNIT, UNIT - n + y * UNIT), Point(UNIT - n + x * UNIT, y * UNIT))

            line.setFill('red')

            line.draw(win)


    for y in range(blocks):

        for x in range(blocks):

            hatch_box(x, y)


    for y in range(blocks + 1, 2 * blocks + 1):

        for x in range(blocks + 1, 2 * blocks + 1):

            hatch_box(x, y)


    def draw_circles(x, y):

        for o in range(0, UNIT, UNIT // 10):

            for c in range(0, UNIT, UNIT // 10):

                circle = Circle(Point(c + UNIT // 20 + x * UNIT, o + UNIT // 20 + y * UNIT), UNIT // 20)

                circle.setFill('blue')

                circle.draw(win)


    for y in range(blocks):

        for x in range(blocks + 1, 2 * blocks + 1):

            draw_circles(x, y)

            draw_circles(y, x)


    def draw_cube(x, y):

        cube = Rectangle(Point(x * UNIT, y * UNIT), Point((x + 1) * UNIT, (y + 1) * UNIT))

        cube.setFill('yellow')

        cube.draw(win)


    x = blocks

    for y in range(0, 2 * blocks + 1):

        draw_cube(x, y)

        draw_cube(y, x)


def layout(size):

    win = GraphWin('Patchwork', size * UNIT, size * UNIT)


    for i in range(0, size * UNIT, UNIT):

        Line(Point(i, 0), Point(i, size * UNIT)).draw(win)

        Line(Point(0, i), Point(size * UNIT, i)).draw(win)


    return win


def main():

    patchWorkSize = int(input("What patchwork size would you like? "))


    if patchWorkSize % 2 == 1 and patchWorkSize > 2:

        win = layout(patchWorkSize)


        patchWork(win, patchWorkSize)


        win.getMouse() # pause for click in window

        win.close()

    else:

        print('Only odd sizes 3 or greater are available')


main()

你應(yīng)該能夠UNIT在合理范圍內(nèi)改變。

http://img1.sycdn.imooc.com//615c08210001940d03950408.jpg

查看完整回答
反對 回復(fù) 2021-10-05
?
蝴蝶不菲

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個贊

我不會為您編寫所有內(nèi)容,但下面的代碼顯示了如何根據(jù)每個區(qū)域在拼湊網(wǎng)格 (i和j) 中的位置為每個區(qū)域選擇顏色。顏色在 中確定color_func()。


希望這足以讓您弄清楚如何應(yīng)用所示的相對簡單的編碼模式來繪制所需的圖形。


提示:根據(jù)(或相對于)這些相同的位置值計算每個圖形元素的坐標(biāo)(即不要為每個可能的拼湊尺寸編寫單獨(dú)的函數(shù))。


這段代碼對我來說似乎仍然過于重復(fù),可能可以做得更簡潔,但我也會把它留給你...... ;?)


def main():

#    size = int(input("What patchwork size would you like?"))

#    Hardcoded for testing.

#

#    if size % 2 == 0:

#        raise RuntimeError('patchwork size must be odd')


    patch_work(5)

    print()

    patch_work(7)


def patch_work(n):

    colors = '0', '1', '2'

    mid = n // 2


    # Call color_func() for every possible position in patchwork and

    # prints the results in rows.

    for i in range(n):

        row = []

        for j in range(n):

            row.append(color_func(n, i, j, colors))

        print(''.join(row))


def color_func(n, i, j, colors):

    mid = n // 2


    if i == mid:

        index = 2


    elif i < mid:

        if j < mid:

            index = 0

        elif j == mid:

            index = 2

        elif j > mid:

            index = 1


    elif i > mid:

        if j < mid:

            index = 1

        elif j == mid:

            index = 2

        elif j > mid:

            index = 0


    return colors[index]



if __name__ == '__main__':


    main()

輸出:


00211

00211

22222

11200

11200


0002111

0002111

0002111

2222222

1112000

1112000

1112000


查看完整回答
反對 回復(fù) 2021-10-05
  • 2 回答
  • 0 關(guān)注
  • 267 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號