999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于圖形界面的Python代碼自動生成軟件的設計與實現

2021-07-13 00:32:36宋雅娟
長春大學學報 2021年6期
關鍵詞:界面

宋雅娟

(蘇州職業大學 計算機工程學院,蘇州 215104)

隨著人工智能時代的來臨, Python 語言作為人工智能時代最合適的語言,越來越受到政府的重視[1]。Python 語言是一門發展了近 30 年的編程語言,是目前美國大學最受歡迎的程序設計語言。Python 語言實際教學內容是分支、循環、函數等基本的程序邏輯關系及功能強大的函數庫應用,它是目前最接近自然語言的通用編程語言[2]。為了助力初學者快速方便地學習運用Turtle庫及Python基本語法知識完成圖形繪制程序,設計并實現了一個應用軟件,借鑒Windows畫筆程序的繪圖界面,用戶可在界面上用鼠標繪圖,軟件會自動生成相應的Turtle繪圖程序。這樣可以一邊設計一些簡單圖形,一邊學習Python基本語法知識,熟悉Turtle庫函數的使用方法,在此基礎上,還可以激發用戶深入學習Python語言的興趣,最終掌握Python語言。

1 Turtle函數庫

Turtle庫是Python青少年編程中最重要的標準庫之一,它由Tkinter庫開發,借助于Turtle庫,編寫一些好玩又有趣的程序和小游戲,可以提高孩子們的編程興趣,提高編程技能。Turtle庫提供了很多繪圖函數,表1中列出了軟件中使用到的Turtle繪圖函數。通過在軟件中繪制不同圖形,觀察自動生成的Python代碼,可以掌握Turtle函數的作用及參數使用方法。

表1 軟件中用到的Turtle函數

2 軟件功能及實現方法

借助Java軟件的圖形界面開發技術,結合Turtle庫中的相關繪圖函數而設計。系統架構如圖1所示。用戶可以在圖形工具欄中選擇基本圖形按鈕,使用顏色工具欄選擇線條顏色、線條工具欄選擇線條粗細,在繪制窗口上拖動鼠標進行圖形的設計,軟件會同時在Python代碼窗口生成相應的Python代碼。可以通過文件菜單保存圖形及相應的代碼、加載保存的圖形及代碼,通過幫助文檔查閱Turtle庫的函數的使用說明。

圖1 系統總體架構圖

軟件的運行主界面如圖2所示。主界面使用Java中的面板進行布局。最上面為菜單欄,由文件菜單和幫助菜單組成。上側工具欄由基本圖形選擇面板與線條選擇面板兩個部分組成,一個提供繪圖基本工具,一個提供線條粗細選擇。最下面的為調色板面板,提供線條顏色及填充顏色選擇。最右面的為代碼面板,存放自動生成的完整Python代碼。圖2為軟件主界面,繪圖面板已經使用鼠標繪制了兩個三角形,

圖2 軟件主界面

其中一個進行了顏色填充。右面為生成的Python代碼。生成的代碼在Python環境中可直接運行,結果如圖3所示。對比圖2與圖3,可看到在界面上繪制的圖形與在Python環境中運行生成的代碼所得圖形完成一致。這樣就完成了在軟件界面上所見即所得的學習方式。用戶可以在界面上選擇圖形進行繪制,之后根據生成的代碼進行Python圖形庫Turtle中函數的學習,圖形發生變化,函數的參數隨之會發生變化。從而用戶可以獲得對Turtle庫的直觀學習體驗,從而激發學習興趣。

圖3 生成代碼的運行效果

在繪圖工具欄點選不同按鈕可以使用鼠標在界面上繪制不同的圖形,如圖4所示。這是分別選取了直線、三角形、圓后的運行結果,對照生成的Python代碼即可了解Python中不同圖形的繪制函數及其參數、坐標情況。繪制圖形時,如果不特別選擇,則自動選擇最細的線條進行各種圖形的繪制。線條選擇面板只提供了4種,可供學生了解線條的設置方法,之后便可以根據此規律自行修改代碼以使用其他尺寸的線條,更有助于學生自行設計自己的線條設置程序。

圖4 使用繪圖工具欄繪制不同圖形

圖5給出了線條選擇面板及選擇不同粗細線條在畫圖板上畫出的兩個矩形,對照右側的生成代碼即可掌握到在Python的Turtle庫中設置線條粗細的函數是Turtle.pensize,函數參數是以數值給出的線條精細值。

圖5 選擇不同線條畫出的矩形

調色板面板是以不同顏色塊為圖形的按鈕集合,如果顏料桶按鈕被按下,則點擊后的顏色將用于設置填充色,否則用于線條顏色。顏色以按鈕方式展示常用的顏色,沒有提供自定義顏色是為了讓學生了解Turtle庫的設置顏色方法后自行修改代碼來完成其他顏色的設計。圖6為使用調色板繪制的彩色填充圖形。從生成的代碼中能看到設置填充色的函數使用,以及begin_fill()與end_fill()函數的應用。

圖6 使用調色板填充的藍色矩形

代碼面板有一個JTextArea控件來存放生成的代碼。用戶可在此部分直接拷貝生成的代碼到Python環境中運行,觀察運行結果,并在Python環境中修改代碼,加深對程序的理解。圖6代碼在Python環境中的運行結果如圖7所示。

圖7 生成代碼在Python環境中運行的結果

程序應用面向對象的原理來實現,使用不同的類來表示不同的圖形。類中使用成員變量來保存圖形的線條顏色、填充顏色、坐標、大小等信息。在鼠標事件中響應鼠標運作,運用Java中的繪圖函數在屏幕上進行圖形的繪制,在繪制結束松開鼠標時,生成圖形對應類的對象,并提取線條粗細、顏色,起始位置等信息存放于該對象中,設置完成后將該對象保存到所有圖形對象列表中。之后調用generateCode方法生成程序開頭代碼,調用各類重寫后的getCode方法生成每個圖形的對應Python代碼,再生成程序結尾代碼。所有代碼最后將顯示在代碼窗口中。

3 結語

Python語言具有豐富的函數庫,為了促進學生更好、更直觀地學習Turtle庫中的函數以及Python的基本知識,設計實現了一個所見即所得的圖形用戶界面。學生可以在界面上選擇不同線條粗細、不同顏色、不同圖形進行基本圖形和復雜圖形的繪制,在繪制的同時,軟件會通過程序自動生成相應的Python代碼。使用該軟件,學生可以快速了解Turtle庫中的函數以及具體用法,并掌握繪圖程序整體架構、Turtle的坐標體系。生成的代碼可以直接放到Python中運行,得到跟軟件界面繪制圖形一樣的效果。在此基礎上,學生可以擴展程序、使用Python實現更復雜、更豐富的圖形和動畫程序。軟件目前只實現了基本圖形繪制、顏色填充,為了讓軟件更適合應用于復雜圖形的設計,可以對程序進行擴充,增加橡皮、圖形移動、復制、動畫設計的功能。

猜你喜歡
界面
聲波在海底界面反射系數仿真計算分析
微重力下兩相控溫型儲液器內氣液界面仿真分析
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
西門子Easy Screen對倒棱機床界面二次開發
空間界面
金秋(2017年4期)2017-06-07 08:22:16
鐵電隧道結界面效應與界面調控
電子顯微打開材料界面世界之門
人機交互界面發展趨勢研究
手機界面中圖形符號的發展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
主站蜘蛛池模板: 怡春院欧美一区二区三区免费| 另类重口100页在线播放| 2020精品极品国产色在线观看| 免费A级毛片无码免费视频| 亚洲天堂视频在线免费观看| 亚洲精品麻豆| 国内丰满少妇猛烈精品播| 片在线无码观看| 精品久久久无码专区中文字幕| 欧美日韩第二页| aⅴ免费在线观看| 久久综合五月| 在线精品视频成人网| 在线观看免费人成视频色快速| 日韩国产精品无码一区二区三区| 人妻丝袜无码视频| 色综合久久久久8天国| 伊人色天堂| 色婷婷成人网| 青青青国产精品国产精品美女| 国产精品一区二区在线播放| 婷婷色一区二区三区| 波多野结衣一区二区三区四区视频| 久久香蕉国产线看精品| 无码 在线 在线| av无码久久精品| 欧美日韩国产精品va| 2022国产无码在线| 日韩视频免费| 国产精品女主播| 久久 午夜福利 张柏芝| 国产亚洲视频中文字幕视频| 久久久久国产精品嫩草影院| 丁香五月亚洲综合在线| 国产欧美高清| 日韩欧美国产三级| 久久成人18免费| 欧美一级爱操视频| 欧美色香蕉| 国产午夜精品一区二区三区软件| 啦啦啦网站在线观看a毛片| 一级毛片免费高清视频| 97超爽成人免费视频在线播放| 亚洲三级a| 亚洲啪啪网| 无码AV高清毛片中国一级毛片 | 狠狠色香婷婷久久亚洲精品| 日韩无码视频播放| 国产成人精品一区二区| 国产手机在线小视频免费观看 | 亚洲中文字幕久久精品无码一区| 国产区在线观看视频| 无码中字出轨中文人妻中文中| 亚洲欧美日韩精品专区| 精品视频91| 五月六月伊人狠狠丁香网| 色综合五月| 日本久久网站| 午夜福利在线观看入口| 国产成人精品2021欧美日韩| 日本免费精品| 国产亚洲精品自在线| 91po国产在线精品免费观看| 午夜少妇精品视频小电影| 999国内精品视频免费| 在线播放91| 亚洲视频免| 麻豆精品久久久久久久99蜜桃| 精品视频第一页| 多人乱p欧美在线观看| 91一级片| 天天爽免费视频| 91国内视频在线观看| 亚洲人精品亚洲人成在线| 热99re99首页精品亚洲五月天| 欧美精品亚洲二区| 国产另类视频| 91人人妻人人做人人爽男同| 国产va在线| 亚洲一欧洲中文字幕在线| 久久无码av一区二区三区| 69国产精品视频免费|