Skip to content

Commit 81a7b6b

Browse files
Add files via upload
1 parent e26f6d1 commit 81a7b6b

File tree

6 files changed

+256
-0
lines changed

6 files changed

+256
-0
lines changed

fordemo.py

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import tkinter as tk
2+
3+
class ForDemo(tk.Frame):
4+
def __init__(self, master=None):
5+
tk.Frame.__init__(self, master)
6+
self.grid()
7+
self.createWidgets()
8+
9+
def createWidgets(self):
10+
self.winfo_toplevel().title("計算總和")
11+
12+
self.label = tk.Label(self)
13+
self.label["text"] = "請輸入整數:"
14+
self.label.grid(row=0, column=0, sticky=tk.N+tk.W)
15+
16+
self.entry = tk.Entry(self)
17+
self.entry.grid(row=1, column=0, sticky=tk.N+tk.W)
18+
19+
self.button = tk.Button(self)
20+
self.button["text"] = "計算"
21+
self.button["command"] = self.calculate
22+
self.button.grid(row=2, column=0, sticky=tk.N+tk.W)
23+
24+
self.result = tk.Label(self)
25+
self.result["text"] = "結果是..."
26+
self.result.grid(row=3, column=0, sticky=tk.N+tk.W)
27+
28+
def calculate(self):
29+
number = int(self.entry.get())
30+
sum = 0
31+
for i in range(number + 1):
32+
sum += i
33+
else:
34+
self.result["text"] = str(sum)
35+
36+
if __name__ == '__main__':
37+
root = tk.Tk()
38+
app = ForDemo(master=root)
39+
app.mainloop()
40+
41+
#《程式語言教學誌》的範例程式
42+
# http://kaiching.org/
43+
# 檔名:fordemo.py
44+
# 功能:示範 for-in-else 陳述
45+
# 作者:張凱慶

ifdemo.py

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import tkinter as tk
2+
3+
class IfDemo(tk.Frame):
4+
def __init__(self, master=None):
5+
tk.Frame.__init__(self, master)
6+
self.grid()
7+
self.createWidgets()
8+
9+
def createWidgets(self):
10+
self.winfo_toplevel().title("分數檢測")
11+
12+
self.label = tk.Label(self)
13+
self.label["text"] = "請輸入分數:"
14+
self.label.grid(row=0, column=0, sticky=tk.N+tk.W)
15+
16+
self.entry = tk.Entry(self)
17+
self.entry.grid(row=1, column=0, sticky=tk.N+tk.W)
18+
19+
self.button = tk.Button(self)
20+
self.button["text"] = "檢測"
21+
self.button["command"] = self.testing
22+
self.button.grid(row=2, column=0, sticky=tk.N+tk.W)
23+
24+
self.result = tk.Label(self)
25+
self.result["text"] = "結果是..."
26+
self.result.grid(row=3, column=0, sticky=tk.N+tk.W)
27+
28+
def testing(self):
29+
score = int(self.entry.get())
30+
if score <= 100 and score >= 90:
31+
self.result["text"] = "很棒!"
32+
elif score < 90 and score >= 60:
33+
self.result["text"] = "不錯!"
34+
elif score < 60 and score >= 0:
35+
self.result["text"] = "加油!"
36+
else:
37+
self.result["text"] = "未知成績!!"
38+
39+
if __name__ == '__main__':
40+
root = tk.Tk()
41+
app = IfDemo(master=root)
42+
app.mainloop()
43+
44+
#《程式語言教學誌》的範例程式
45+
# http://kaiching.org/
46+
# 檔名:ifdemo.py
47+
# 功能:示範 if-elif-else 陳述
48+
# 作者:張凱慶

quotes.txt

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Hello world!
2+
There is no spoon.
3+
Manners maketh the man.
4+
You need time to know, to forgive and to love.
5+
And then be a simple man.

trydemo.py

+66
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
import tkinter as tk
2+
3+
class TryDemo(tk.Frame):
4+
def __init__(self, master=None):
5+
tk.Frame.__init__(self, master)
6+
self.grid()
7+
self.createWidgets()
8+
9+
def createWidgets(self):
10+
self.winfo_toplevel().title("計算測試")
11+
12+
self.button1 = tk.Button(self)
13+
self.button1["text"] = "測試1/0"
14+
self.button1["width"] = 15
15+
self.button1["command"] = self.testing1
16+
self.button1.grid(row=0, column=0, sticky=tk.N+tk.W)
17+
18+
self.button2 = tk.Button(self)
19+
self.button2["text"] = "測試1/1"
20+
self.button2["width"] = 15
21+
self.button2["command"] = self.testing2
22+
self.button2.grid(row=0, column=1, sticky=tk.N+tk.W)
23+
24+
self.result = tk.Label(self)
25+
self.result["text"] = "結果是..."
26+
self.result["width"] = 30
27+
self.result.grid(row=1, column=0, columnspan=2, sticky=tk.N+tk.W)
28+
29+
def testing1(self):
30+
self.result["text"] = "結果是"
31+
try:
32+
r = 1 / 0
33+
self.result["text"] += str(r) + "。"
34+
except ZeroDivisionError:
35+
self.result["text"] += "除數不能為0!"
36+
except:
37+
self.result["text"] += "發生其他錯誤!"
38+
else:
39+
self.result["text"] += "錯誤沒有發生!"
40+
finally:
41+
self.result["text"] += "測試結束。"
42+
43+
def testing2(self):
44+
self.result["text"] = "結果是"
45+
try:
46+
r = 1 / 1
47+
self.result["text"] += str(r) + "。"
48+
except ZeroDivisionError:
49+
self.result["text"] += "除數不能為0!"
50+
except:
51+
self.result["text"] += "發生其他錯誤!"
52+
else:
53+
self.result["text"] += "錯誤沒有發生!"
54+
finally:
55+
self.result["text"] += "測試結束。"
56+
57+
if __name__ == '__main__':
58+
root = tk.Tk()
59+
app = TryDemo(master=root)
60+
app.mainloop()
61+
62+
#《程式語言教學誌》的範例程式
63+
# http://kaiching.org/
64+
# 檔名:trydemo.py
65+
# 功能:示範 try-except-finally-else 陳述
66+
# 作者:張凱慶

whiledemo.py

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import tkinter as tk
2+
3+
class WhileDemo(tk.Frame):
4+
def __init__(self, master=None):
5+
tk.Frame.__init__(self, master)
6+
self.grid()
7+
self.createWidgets()
8+
9+
def createWidgets(self):
10+
self.winfo_toplevel().title("計算總和")
11+
12+
self.label = tk.Label(self)
13+
self.label["text"] = "請輸入整數:"
14+
self.label.grid(row=0, column=0, sticky=tk.N+tk.W)
15+
16+
self.entry = tk.Entry(self)
17+
self.entry.grid(row=1, column=0, sticky=tk.N+tk.W)
18+
19+
self.button = tk.Button(self)
20+
self.button["text"] = "計算"
21+
self.button["command"] = self.calculate
22+
self.button.grid(row=2, column=0, sticky=tk.N+tk.W)
23+
24+
self.result = tk.Label(self)
25+
self.result["text"] = "結果是..."
26+
self.result.grid(row=3, column=0, sticky=tk.N+tk.W)
27+
28+
def calculate(self):
29+
number = int(self.entry.get())
30+
sum = 0
31+
i = 0
32+
while i <= number:
33+
sum += i
34+
i += 1
35+
else:
36+
self.result["text"] = str(sum)
37+
38+
if __name__ == '__main__':
39+
root = tk.Tk()
40+
app = WhileDemo(master=root)
41+
app.mainloop()
42+
43+
#《程式語言教學誌》的範例程式
44+
# http://kaiching.org/
45+
# 檔名:whiledemo.py
46+
# 功能:示範 while-else 陳述
47+
# 作者:張凱慶

withdemo.py

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import tkinter as tk
2+
3+
class WithDemo(tk.Frame):
4+
def __init__(self, master=None):
5+
tk.Frame.__init__(self, master)
6+
self.grid()
7+
self.createWidgets()
8+
9+
def createWidgets(self):
10+
self.winfo_toplevel().title("開啟檔案")
11+
12+
self.entry = tk.Entry(self)
13+
self.entry.grid(row=0, column=0, sticky=tk.N+tk.W)
14+
15+
self.button = tk.Button(self)
16+
self.button["text"] = "開啟"
17+
self.button["command"] = self.loadfile
18+
self.button.grid(row=1, column=0, sticky=tk.N+tk.W)
19+
20+
self.result = tk.Text(self)
21+
self.result["width"] = 60
22+
self.result["height"] = 10
23+
self.result.grid(row=2, column=0, sticky=tk.N+tk.W)
24+
25+
def loadfile(self):
26+
self.result.delete(1.0, tk.END)
27+
try:
28+
with open(self.entry.get(), "r", encoding="UTF-8") as file:
29+
for line in file:
30+
self.result.insert(tk.INSERT, line)
31+
except:
32+
self.result.insert(tk.INSERT, "檔案不存在")
33+
self.result["state"] = "disabled"
34+
35+
36+
if __name__ == '__main__':
37+
root = tk.Tk()
38+
app = WithDemo(master=root)
39+
app.mainloop()
40+
41+
#《程式語言教學誌》的範例程式
42+
# http://kaiching.org/
43+
# 檔名:withdemo.py
44+
# 功能:示範 with-as 陳述
45+
# 作者:張凱慶

0 commit comments

Comments
 (0)