Python 官網: python 前沿。可惜是英文原版。所以,我要練習英文閱讀。🧐🧐" rel="noopener noreferrer">https://www.python.org/
自學並不是什麼神秘的東西,一個人一輩子自學的時間總是比在學校學習的時間長,沒有老師的時候總是比有老師的時候多。
—— 華羅庚
目錄
本練習緣來
想寫這個“單詞記憶系統”,是緣於看到有人想用“網”到的代碼(點擊藍色文字查看那段代碼)給孩子做一個“單詞記憶”程序。仔細研讀那段代碼,感覺不是我想要的那種,決定給自己“鼓搗”一個“真正”的“單詞記憶系統”,至少要讓單詞庫得以在磁盤文件保存保存,才算得上勉強可用的“系統”。
“框架”構想
我現在正在學習python class 和 python 的包、模塊的 import ,正好在做這個“單詞記憶系統”時煉煉。
雖然代碼有些丑,但終究還是通過了調試,達成目的。🤪🤪
系統目錄結構
系統主程序代碼
#!/sur/bin/nve python
# coding: utf-8
''' filename: word_remember.py author: 夢幻精靈_cq time: 2022-6-19 10:31am '''
from word_remember_tools import menu_show, ismenu
from mypytools.python_color import color
menu_str = '單詞練習,單詞測試,生詞添加,系統文檔'.split(',')
while True:
menu_show.MenuShow().show(menu_str) # 調用模塊列印菜單。
try:
menu_choice = int(input(f"{
'-'*50}\n\n{
'':>12}{
color('選擇菜單', 'f_green')}:"))
except Exception as error:
input(f"\n\n{
'-'*50}\n{
color('選擇錯誤!'.center(45, '-'),'f_red')}\n{
color('ErrorType:', 'f_gray')} {
color(error, 'f_red')}\n{
'-'*50}\n\n")
continue
if menu_choice not in range(len(menu_str)+1):
input(f"\n\n{
'-'*50}\n{
color('選擇錯誤!'.center(45, '-'),'f_red')}\n{
'-'*50}\n\n")
continue
if not ismenu.IsMenu().ismenu(menu_choice):
break # 菜單選擇0,退出系統菜單循環。
系統主菜單
1. 菜單列印代碼
#!/sur/bin/nve python
# coding: utf-8
''' filename = 'word_remember_tools/menu_show.py' author = 'Dream_elf' time = '2022-06-19' '''
from mypytools.mypythontools import localtime_show # 加載時間字符格式化字符串獲取工具。
from mypytools.python_color import color # 加載打印色彩控制工具。
from os import system # 加載命令執行“容器”。
# 菜單列印模塊。
class MenuShow:
def show(self, menu_str):
''' 菜單列印。 遍歷菜單列表打印菜單。 '''
system('clear')
print(f"\n\n{
'*'*50}\n\n{
'單詞記憶系統'.center(44)}\n{
color('(Word Remember)','f_green').center(59)}\n\n{
localtime_show().center(61)}\n{
'-'*50}")
for k,i in enumerate(menu_str):
print(f"\n{
'':>20}{
k+1}. {
color(i, 'f_green')}")
print(f"\n{
'':>20}0. {
color('退出系統','f_gray')}")
2. 菜單列印效果
菜單確認代碼
#!/sur/bin/nve python
# coding: utf-8
''' filename = 'word_remember_tools/ismenu.py' author = 'Dream_elf' time = '2022-06-19' '''
from mypytools.python_color import color # 加載打印色彩控制工具。
from os import system # 加載命令執行“容器”。
class IsMenu:
def ismenu(self, menu_choice):
''' 菜單選擇確認,根據所選序號, 調用相應功能模塊。 '''
num = menu_choice # 菜單選擇變量別名。
if not num: # 退出系統。
print(f"\n\n{
'-'*50}\n{
color('正在保存詞庫……','f_green').center(51)}\n{
'-'*50}")
pass # 詞庫保存,程序設計中。
system('clear')
print(f"\n\n{
color('-'*50, 'f_green')}\n\n{
color('謝謝使用“單詞記憶系統”!','f_yellow').center(48)}\n\n{
color('Author: Dream Elf','f_gray').center(56)}\n{
color('*'*50,'f_green')}\n\n")
return num
elif num == 1: # 單詞練習。
input(f"\n\n{
'-'*50}\n{
color('單詞練習正在建設……','f_green').center(49)}\n{
'-'*50}")
return num
elif num == 2: # 單詞測試。
input(f"\n\n{
'-'*50}\n{
color('單詞測試正在建設……','f_green').center(49)}\n{
'-'*50}")
return num
elif num == 3: # 生詞添加。
input(f"\n\n{
'-'*50}\n{
color('生詞添加正在建設……','f_green').center(49)}\n{
'-'*50}")
return num
elif num == 4: # 說明文檔。
input(f"\n\n{
'-'*50}\n{
color('說明文檔正在建設……','f_green').center(49)}\n{
'-'*50}")
return num
菜單選擇錯誤提示
1. 輸入錯誤
2. 超出范圍
優化了“菜單選擇”錯誤提示字符串列印格式:
1. 代碼
from word_remember_tools import menu_show, ismenu
from mypytools.python_color import color
menu_str = '單詞練習,單詞測試,生詞添加,系統文檔'.split(',') # 系統菜單字符串列表。
while True:
menu_show.MenuShow().show(menu_str) # 調用模塊列印菜單。
try:
menu_choice = int(input(f"{
'-'*50}\n\n{
'':>12}{
color('選擇菜單', 'f_green')}:"))
except Exception as error:
input(f"\n\n{
'-'*50}\n\n{
color(' 選擇錯誤!'.center(45, '-'),'f_red')}\n\n{
color('ErrorType:', 'f_gray')} {
color(error, 'f_yellow')}\n{
'-'*50}\n\n")
continue
if menu_choice not in range(len(menu_str)+1):
error = f"您輸入的數字,超出菜單序號選擇范圍 '1~{
len(menu_str)}' :'{
menu_choice}' "
input(f"\n\n{
'-'*50}\n\n{
color('選擇錯誤!'.center(45, '-'),'f_red')}\n\n{
color('錯誤類型:', 'f_gray')}{
color(error, 'f_yellow')}\n{
'-'*50}\n\n")
continue
if not ismenu.IsMenu().ismenu(menu_choice):
break # 菜單選擇0,退出系統菜單循環。
2. 效果
(2022-06-20 06:29 am)
菜單確認之“系統退出”提示
別人“網”來,准備給孩子做“單詞記憶”程序的代碼:
import random
import turtle as t
WORDS = {
"easy": "簡單", "difficult": "困難", "answer": "答案"}
iscontinue = "y"
while iscontinue == "y" or iscontinue == "Y":
print(
""" 歡迎使用BillChen單詞速背系統 英譯漢請輸入Y 漢譯英請輸入N 添加單詞請按L 模擬練習請按T 結束程序請按W 開發詳情請按任意鍵 """
)
F = input()
if F == 'N' or F == 'n':
new_WORDS = {
v: k for k, v in WORDS.items()}
n = input("請輸入需要查詢的單詞或詞語:")
if n in new_WORDS:
print(new_WORDS[n])
else:
print('暫未收錄,敬請期待')
iscontinue = input("\n\n是否繼續(Y/N):")
elif F == 'Y' or F == 'y':
n = input("請輸入需要查詢的單詞或詞語:")
if n in WORDS:
print(WORDS[n])
else:
print('暫未收錄,敬請期待')
iscontinue = input("\n\n是否繼續(Y/N):")
elif F == 'L' or F == 'l':
new_value = input('請輸入一個新的單詞的釋義:')
new_key = input('請輸入這個新單詞:')
WORDS[new_key] = new_value
print(WORDS)
elif F == 'T' or F == 't':
i = 0
z = 0
while i < 5:
key = random.choice(list(WORDS))
right_key = WORDS[key]
print(key)
user_key = input("請輸入這個單詞的釋義:")
if user_key == right_key:
print('恭喜您,此題答對了')
z = z + 1
else:
print('很遺憾,此題打錯了,再接再厲哦')
print('正確答案是:{}'.format(right_key))
''' 2021/2/7根據樹扇風吹雲起的提議增添答錯時會輸出正確答案 '''
i = i + 1
print('恭喜您,本次模擬結束,本次您的正確率為:{:.2%}'.format(z / 5))
elif F == 'W' or F == 'w':
print("程序已經退出,歡迎您的下次使用")
iscontinue = "n"
else:
t.setup(1800, 800, 0, 0)
t.bgcolor('pink')
t.color('red')
t.shape('turtle')
t.speed(5)
t.begin_fill()
t.up()
t.goto(-120, 100)
t.down()
for i in range(5):
t.forward(240)
t.right(144)
t.end_fill()
t.penup()
t.goto(200, 100)
t.pendown
t.color('black')
t.write('開發人員:popolo', font=("Arial", 34, "normal"))
t.right(90)
t.fd(100)
t.color('red')
t.write('', font=("Arial", 34, "italic"))
t.left(90)
t.fd(50)
t.color('black')
t.write('學號:201805050118', font=("Arial", 34, "italic"))
t.right(90)
t.fd(100)
t.write('班級:18計科本1班', font=("Arial", 34, "bold"))
t.right(90)
t.fd(500)
t.write('考試必過', font=("Arial", 34, "bold"))
t.right(90)
t.fd(300)
t.write('單詞速背系統', font=("Arial", 34, "bold"))
t.hideturtle()
t.exitonclick()
來源:老齊教室
全棧領域優質創作者——寒佬(還是國內某高校學生)好文:《非技術文—關於英語和如何正確的提問》,“英語”和“會提問”是學習的兩大利器。
【8大編程語言的適用領域】先別著急選語言學編程,先看它們能干嘛
靠譜程序員的好習慣