久久综合九色综合97婷婷-美女视频黄频a免费-精品日本一区二区三区在线观看-日韩中文无码有码免费视频-亚洲中文字幕无码专区-扒开双腿疯狂进出爽爽爽动态照片-国产乱理伦片在线观看夜-高清极品美女毛茸茸-欧美寡妇性猛交XXX-国产亚洲精品99在线播放-日韩美女毛片又爽又大毛片,99久久久无码国产精品9,国产成a人片在线观看视频下载,欧美疯狂xxxx吞精视频

有趣生活

當前位置:首頁>母嬰>python打字練習(用python寫一個供小孩子練習打字的腳本)

python打字練習(用python寫一個供小孩子練習打字的腳本)

發布時間:2024-01-25閱讀(17)

導讀開始讓小孩學習打字,每天打個五十個字,學習打字的同時,也可以寫寫日記,一舉兩得。一開始我讓小孩子學習打26個英文字母,沒想到她說學校里有信息課,已經學過要怎....

開始讓小孩學習打字,每天打個五十個字,學習打字的同時,也可以寫寫日記,一舉兩得。

一開始我讓小孩子學習打26個英文字母,沒想到她說學校里有信息課,已經學過要怎么打,哪個手指控制哪幾個鍵這些理論知識都已經有學過了。差的只是練習,于是我每天讓她在Word上打26個字母,每天打十遍。打了幾天發現這樣不行,首先一直重復A到Z這樣順序的打,雖然速度加快了,可是在實際中的效果并不明顯,再來是用Word打容易走神,打著打著就開始變換字體大小顏色背景等等。

于是給自己布置了一個小任務,寫一個腳本:

1.純黑的文字界面

2.隨機生成一個字符串,以供打字。

3.在數據庫中記錄打的字,花費的時間,打錯的次數等,并可供查詢,以便確認是否有進步。

python打字練習(用python寫一個供小孩子練習打字的腳本)(1)

目前給小孩測試了幾天時間,效果不錯,打字的速度也在每天提升當中。

代碼分享如下:

import randomimport sqlite3import datetimeimport sysclass Typing: def __init__(self,length,times): self.length = length self.times = times self.conn = sqlite3.connect("words.db") self.cur = self.conn.cursor() def get_rand_words(self): """ 獲取固定長度的隨機字符串 """ text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"#abcdefghijklmnopqrstuvwxyz" res = "" for i in range(self.length): res = text[random.randint(0,len(text)-1)] return res def insert_data(self,date,words,used_time,wrong_time): """ 將數據存入數據庫 """ self.cur.execute("create table if not exists data(日期 DATE,WORDS TEXT,用時 REAL,錯誤次數 REAL)") self.cur.execute("insert into data(日期,WORDS,用時,錯誤次數) values(?,?,?,?)",(date,words,used_time,wrong_time)) self.conn.commit() def run(self): """ 主要執行 """ left = self.times print(f"總共{left}個字符串等待輸入") for i in range(self.times): wrong_time = 0 words = self.get_rand_words() start_time = datetime.datetime.now() check = True while check: print(words) input_words = input("請輸入以上英文字母:") if not self.input_check(input_words,words): wrong_time = 1 print(f"輸入錯誤,請重新輸入...剩余:{left}個 ") else: left -= 1 print(f"輸入正確...剩余:{left}個 ") check = False end_time = datetime.datetime.now() used_time =(end_time-start_time).seconds self.insert_data(datetime.datetime.today().strftime("%Y-%m-%d"),words,used_time,wrong_time) def input_check(self,input_words,words): """ 判斷輸入對錯 """ if input_words == words: return True else: return False def query_data(self,fr_date,to_date): """ 查詢起始時間內的數據 """ search_text = "select 用時,錯誤次數 from data where " if fr_date == to_date: search_text = f"日期 = {fr_date}" else: search_text = f"日期 >= {fr_date} AND 日期 <= {to_date}" self.cur.execute(search_text) res = self.cur.fetchall() self.conn.commit() times = 0 wrong_times = 0 if res: for i in range(len(res)): times = res[i][0] wrong_times = res[i][1] times /= len(res) if wrong_times: wrong_times/=len(res) return times,wrong_times def total(self): """ 統計數據并打印出來 """ S = "今天" now = datetime.datetime.today() today = now.strftime("%Y-%m-%d") last = self.last_day() if today != last: now = datetime.datetime.strptime(last,"%Y-%m-%d") today = last S = "最近一天" week = (now datetime.timedelta(-7)).strftime("%Y-%m-%d") month = (now datetime.timedelta(-30)).strftime("%Y-%m-%d") day_1 = self.query_data(today,today) day_7 = self.query_data(week,today) day_30 = self.query_data(month,today) print(f"{S}: ",end ="") print(f"平均用時:{round(day_1[0],2)}秒 平均錯誤次數:{round(day_1[1],2)}") print("最近一星期: ",end ="") print(f"平均用時:{round(day_7[0],2)}秒 平均錯誤次數:{round(day_7[1],2)}") print("最近一月 ",end ="") print(f"平均用時:{round(day_30[0],2)}秒 平均錯誤次數:{round(day_30[1],2)}") def last_day(self): self.cur.execute("select MAX(rowid) from data") res = self.cur.fetchone() self.cur.execute(f"select 日期 from data where rowid ={res[0]}") res2 = self.cur.fetchone() return res2[0] def query(self,fr_day,to_day): self.cur.execute(f"select WORDS from data where 日期 >= {fr_day} AND 日期 <= {to_day}") res = self.cur.fetchall() if res: for i in res: print(i[0]) else: print("沒有查詢到數據!") def quit(self): self.cur.close() self.conn.commit() sys.exit()if __name__ == "__main__": Type = Typing(5,50) while True: print("""1.開始打字練習2.獲取統計數據3.查詢輸入內容4.退出請選擇:""",end ="") choice = int(input()) if choice == 1: Type.run()#字符串長度、字符串個數 print("今天的任務已經完成,明天繼續加油!") elif choice == 2: Type.total() elif choice == 3: fr_day = input("請輸入開始日期:") to_day = input("請輸入結束日期:") Type.query(fr_day,to_day) elif choice == 4: Type.quit() else: pass

需要可執行文件的也可以留下郵件,免費放送

歡迎分享轉載→http://www.avcorse.com/read-306796.html

Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號-5 TXT地圖HTML地圖XML地圖