黃柏諺期中考VS Code編輯Python徒刑使用者介面GUI

期中考

期中考解說影片239

期中考題目

# 黃柏諺集合{},字典{key:value,},元組(),清單或陣列[]
p = ("台積電", "鴻海", "聯發科")
r = {"台積電", "鴻海", "聯發科"}
s = ["台積電", "鴻海", "聯發科"]
t = ["中華電", "台塑化", "台達電"]
d= {2330:"台積電",2317:"鴻海",2454:"聯發科"}
u = s
v = s.copy()
s.extend(t)
print(len(s))
i = 0
for a in p: #然後嘗試取代p為r,s,t,u
  i = i+1
  print("台灣第" + str(i) + "大的公司是")
  print("    " + a)

W3school截圖

VS Code編輯Python圖形使用者介面

Python程式碼

from tkinter import * #從函式庫 tkinter 輸入所有 * 方法
from math import *    #從函式庫 math 輸入所有 * 方法
t = (3,4,5,6,7,8,9,10,11,12,16,20,32) #宣告一元組tuple(...)
tk = Tk()
tk.title("黃柏諺視窗使用者介面GUI")
canvas = Canvas(tk, width=500, height=500)
canvas.pack()

def show(event):                        #定義由事件event(按鈕選單)呼叫的函數show
   cx, cy, cr = 210, 210, 200           #宣告圓中心座標cx, cy半徑cr
   x, y =[],[]                          #宣告二陣列[...]
   k = s.get()                          #取得 ge t按鈕選單的選擇變數
   u = 2 * pi / k                       #使用模組 math 圓周率 pi
   for i in range(k):
      x.append(cx + cr*cos(i*u))        #加入陣列的元素
      y.append(cy + cr*sin(i*u))        #使用模組 math 三角函數cos, sin
   for i in range(k-1):
      canvas.create_line(x[i], y[i], x[i+1], y[i+1])
   canvas.create_line(x[k-1], y[k-1], x[0], y[0])   #可考慮增加width寬度,fill顏色
   
def diagonal():
   cx, cy, cr = 210, 210, 200           #宣告圓中心座標cx, cy半徑cr外來學繼承 inheritance
   x, y =[],[]                          #宣告二陣列[...]
   k = s.get()                          #取得 ge t按鈕選單的選擇變數
   u = 2 * pi / k                       #模組 math 圓周率 pi
   for i in range(k):
      x.append(cx + cr*cos(i*u)) #加入陣列的元素
      y.append(cy + cr*sin(i*u))
   for i in range(k):
      for j in range(i+2, k):
         canvas.create_line(x[i], y[i], x[j], y[j], fill="red", width=3) 
         
s = IntVar(tk)
combo = OptionMenu(tk, s, *t, command = show).pack()         #下拉式按鈕combobox
button = Button(tk, text="對角線", command = diagonal).pack()#按鈕button
tk.mainloop()

VSCode截圖Python

240影片

242影片

留言

這個網誌中的熱門文章

黃柏諺python時間函式time.sleep

黃柏諺pythoy陣列array

黃柏諺python字串方法