零基礎python入門GUI程式設計 2 3 多路分支

2021-10-05 09:51:36 字數 3789 閱讀 4311

很多時候,事情不是只有兩種情況,比如這個需求。

考試成績在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軟體,就是寫東西的硬體或軟體,總之,那些文字只能寫在那個上邊,才能最後成為一篇文章。那麼程式設計也是,要有個什麼程式之類的東西,要把...