Hello PYTHON~ puzzlemaker的答案整理
動機:
翻了兩天的python教科書,想說需要一些練習,剛好複習英文課單字時用了Discovery
上的puzzlemaker做填字遊戲, 但分享給英文課同學時發現網頁沒有產生答案卡,所以如果需要答案卡,就只能用自己出題時填的文字內容,基本上當然是能用,但有以下不方便的地方
1.出題時的文字內容沒有題號
2.出題的順序和和遊戲畫面上問題的順序沒有直接關係
3.遊戲畫面上問題的順序還會依照"Across"和"Down"分類
基於以上三個問題,對答案是很辛苦事,特別是題目多的時候
http://puzzlemaker.discoveryeducation.com/CrissCrossSetupForm.asp
概要:
所以我想製作一個小程式,讓使用者可以填入出題時的文字(含答案)和遊戲時的問題文字,然後自動按照遊戲中的題號排序並加上答案.
tkinter object type |
description | |
questionInput_text | text | 輸入遊戲時的問題文字 |
descripInput_text | text | 輸入出題時的描述文字 |
ansSheetOutput_text | text | 顯示排序過的答案 |
anssheetGEN_btn | button | 按下後ansSheetOutput_text 會顯示排序過的答案 |
實做時的問題:
1.使用text.get()方法擷取文字時,所有的字元都變成單獨的元素
此時可加上"splitlines()",這樣就可以一次將一行的文字視為一組元素(物件)
listget1=quesInput_text.get("1.0", "end-1c").splitlines()
2. text.get()方法中的參數"1.0", "end-1c"是什麼?
這兩個參數分別為text中要被讀取的起始字元和中止字元,"1.0"代表"第1行第0個字元", 而 "end-1c"則表示"最後一個字元但往回扣掉空白行一行", 這邊要注意的是行數是從1算起,但字元是從0算起
3.text.insert( )填進text的文字內容都會出現不明的"{"或"}"
將希望完整顯示成一行的所有文字訊息先封裝成單一的字串再放入"insert()"中
listString=" ".join([number,desc,":",title,'\n'])
ansSheetOutput_text.insert("end",listString)
完整程式碼 github
https://github.com/firmamentone/ANS-maker-for-cross-puzzle
參考資料
https://www.itread01.com/content/1545830285.html
Python技術者們練功 旗標出版
留言
張貼留言