考試成績在85分以上評定為優秀
75分以上評定為良好
60分以上評定為及格
少於60分則是不及格
在python中,通過elif(否則如果)來實現多路判斷的功能。
if 條件1
: 滿足條件1執行的語句
elif 條件2
: 不滿足條件1,但滿足條件2執行的語句
elif 條件3
: 不滿足條件1
,2,但滿足條件3執行的語句
else
: 不滿足上面所有條件執行的語句
注意,elif與if一樣,也是「冒號」語句。所有的冒號語句後面跟的語句,應當再縮排4個空格。如果有多條語句,每條都應該同等地縮排4個空格。
在python中,空格不是沒有含義可以隨便省略的。
我們的成績評定,可以使用這樣的演算法:
# 函式定義
defcalculate()
:# get方法獲得的物件是文字型別,必須轉換為整數型別(int)
value =
int(entry.get())
# 評定邏輯
if value >
100:
lblevel[
'text']=
'超過了滿分'
elif value >=85:
lblevel[
'text']=
'優秀'
elif value >=75:
lblevel[
'text']=
'良好'
elif value >=60:
lblevel[
'text']=
'及格'
else
: lblevel[
'text']=
'不及格'
上節課,我們在元件周圍加上了留白後,視窗顯得美觀一些了,tkinter還有辦法讓介面更漂亮一點。
我們先對比一下效果。
是不是顯得更上檔次一些?因為在這個介面中,我們使用了「主題」元件。讓視窗有了一種扁平化的效果。我們看到的是vista主題,此外還有幾種系統內建的主題效果。
為了使用主題元件,首先必須引入「主題」元件庫(ttk)
from tkinter import ttk
這裡我們看到匯入語句的兩種不同用法。
# 引入tkinter的所有元件
from tkinter import
*# 從tkinter中引入另外乙個庫
from tkinter import ttk
然後,在建立所有元件的時候,都從ttk中建立,即前面加ttk.例如:
entry = ttk.entry(root)
完整源**如下:
# 引入tkinter的所有元件
from tkinter import
*# 引入「主題」元件庫
from tkinter import ttk
# 函式定義
defcalculate()
:# get方法獲得的物件是文字型別,必須轉換為整數型別(int)
value =
int(entry.get())
# 評定邏輯
if value >
100:
lblevel[
'text']=
'超過了滿分'
elif value >=85:
lblevel[
'text']=
'優秀'
elif value >=75:
lblevel[
'text']=
'良好'
elif value >=60:
lblevel[
'text']=
'及格'
else
: lblevel[
'text']=
'不及格'
# root 是主視窗
root = tk(
)# 給主視窗定乙個標題
root.title(
"成績評定"
)# 純提示用的標籤(型別label),屬於root視窗,不必起名字,定義後直接布局
ttk.label(root, text=
"請輸入成績:"
).grid(column=
1, row=
1, padx=
10, pady=10)
# 輸入,單行文字輸入框(型別entry),它屬於root視窗
entry = ttk.entry(root)
entry.grid(column=
2, row=
1, padx=
10, pady=10)
print
(entry[
'style'])
# 輸出用的標籤(型別label),屬於root視窗
lblevel= ttk.label(root, text=
" "
)lblevel.grid(column=
2, row=
2, padx=
10, pady=10)
# 按鈕(型別button),屬於root視窗,顯示文字是「檢測」,按下去動作(command)是函式calculate
# 無須起名,因為後面不用訪問按鈕本身
ttk.button(root, text=
"評定"
, command=calculate)
.grid(column=
1, row=
2, padx=
10, pady=10)
# 這一句是執行視窗
root.mainloop(
)
多路分支語句的用法
主題元件的使用
1、我們目前只使用label輸出單行文字,其實輸出多行文字也是沒有問題的。
在python中,我們可以用一對「三引號」來輕鬆輸入多行文字,(單雙均可,』』'或""")。
例如:
quiz= ttk.label(root)
quiz.grid(column=
1, row=
1, padx=
10, pady=10)
quiz[
'text']=
'''題目:外面下起非常大的雨,但家中的傘都是壞的,你的選擇是?
a、有乙個大洞的傘
b、有乙個小洞的傘
c、傘柄彎曲了的傘
d、傘柄不彎曲但是很短的傘
'''
參考例題,做乙個《心理測試》軟體。
2、嘗試把某個elif條件中的value改為value1,執行看看,在什麼情況下報錯,什麼情況下不報錯?
3、嘗試把某個elif改為elif1,執行看看?
Python零基礎入門
python零基礎入門 第一周前言 最近在簡單學習python,在之前的學習中也只對c語言有了乙個粗略的了解,可以說在程式設計方面沒有什麼基礎,當然這也是我第一次寫部落格,希望自己越學越好,希望自己加油 在這一周中,還是學習到了不少的東西,也希望把自己學到的東西寫下來,來加強對python的學習,若...
Python入門零基礎
開始認識 不要害怕面對一串密密麻麻的英文本元。如果你將它們獨自分開,你會發現它們就像英文單詞,都有固定的作用。不要被第一眼的陌生感所產生的恐懼給蒙蔽。而要將 看成 變數 可以用來儲存字面量,變數本身沒有任何意思 如 a hello world abc 1,dfg 2,c abc dfg。其中a ab...
零基礎學pythyon 安裝python程式設計環境
任何高階語言都是需要乙個自己的程式設計環境的,這就好比寫字一樣,需要有紙和筆,在計算機上寫東西,也需要有文字處理軟體,比如各種名稱的office。筆和紙以及office軟體,就是寫東西的硬體或軟體,總之,那些文字只能寫在那個上邊,才能最後成為一篇文章。那麼程式設計也是,要有個什麼程式之類的東西,要把...