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
主站蜘蛛池模板: 91在线一9|永久视频在线| 国产精品无码影视久久久久久久 | 日本成人在线不卡视频| 色窝窝免费一区二区三区| 亚洲日韩欧美在线观看| 久久免费视频6| 久久女人网| 国产91透明丝袜美腿在线| 成人91在线| 囯产av无码片毛片一级| 国产在线专区| 成人在线亚洲| 成人a免费α片在线视频网站| 亚洲欧洲日韩久久狠狠爱| 2021国产精品自产拍在线| 香蕉在线视频网站| 国产伦精品一区二区三区视频优播 | 91成人在线免费观看| 亚洲欧洲一区二区三区| 日韩午夜伦| 无码日韩人妻精品久久蜜桃| 精品中文字幕一区在线| 国产在线观看成人91| 九九视频免费看| 无码aaa视频| 亚洲a级毛片| 久久久久亚洲AV成人网站软件| 国产视频a| 亚洲成在线观看| 日韩123欧美字幕| www.99在线观看| 天堂va亚洲va欧美va国产| 男女性午夜福利网站| 亚洲无码高清免费视频亚洲 | 在线视频97| 中文成人在线视频| 高潮爽到爆的喷水女主播视频| 亚洲h视频在线| 视频一区亚洲| 久久亚洲欧美综合| 美女被狂躁www在线观看| 国产高潮视频在线观看| 亚洲日韩日本中文在线| 网久久综合| 久久国产亚洲偷自| 国产三级国产精品国产普男人| 青青青草国产| 8090成人午夜精品| 亚洲综合经典在线一区二区| 欧美激情,国产精品| 57pao国产成视频免费播放| 九九热这里只有国产精品| 国产人人乐人人爱| 99成人在线观看| 日韩午夜片| 无码啪啪精品天堂浪潮av| 丰满人妻中出白浆| 女人毛片a级大学毛片免费| 国产亚洲日韩av在线| 久久婷婷色综合老司机| 伊人久久久久久久久久| 日韩精品无码免费一区二区三区 | 亚洲一区二区成人| 日韩天堂网| 国产高清精品在线91| 国产丝袜丝视频在线观看| 国产亚洲精品自在线| 久久综合五月| 一级片一区| 日本影院一区| 亚洲视频免| 制服丝袜国产精品| 超碰aⅴ人人做人人爽欧美 | 99视频在线看| 亚洲男人的天堂在线| 亚洲天堂网视频| 天天做天天爱天天爽综合区| 久久这里只有精品8| 黄色网页在线观看| 日韩欧美在线观看| 看看一级毛片| 久久精品人人做人人|