Python 程式設計範例
https://www.facebook.com/groups/791696432107081
車速表程序
# 程式 - Python - 車速表
# www.bgmax.com.br/treinamentos
# 需要安裝plotly函式庫
# pip 情節安裝
# 導入所需的Plotly庫來建立互動式圖表
將plotly.graph_objects導入為graf
# 建立一個圖形物件(圖形),其中包含帶有顏色的速度計
圖 = graf.Figure(graf.Indicator(
mode="gauge number delta", # 儀表模式(儀表 = 速度計,數字 = 數字,增量 = 差值)
value=420, # 目前指標值(速度)
domain={'x': [0, 1], 'y': [0, 1]}, # 圖域(位置與大小)
title={'text': "速度", 'font': {'size': 24}}, # 指標標題
delta={'reference': 400, 'increasing': {'color': "mediumseagreen"}}, # Delta 設定(差異)
規格={
'axis': {'range': [0, 500], 'tickwidth': 1, 'tickcolor': "darkblue", 'tickvals': [0, 100, 200, 300, 400, 500]},
# 車速表軸設定(範圍、厚度和顏色)
'bar': {'color': "darkblue"}, # 車速表欄設定(顏色)
'bgcolor': "white", # 車速表背景顏色
'borderwidth': 2, # 車速表邊框寬度
'bordercolor': "gray", # 車速表邊框顏色
'腳步': [
{'範圍': [0, 100], '顏色': '青色'},
{'範圍': [100, 200], '顏色': '深藍'},
{'範圍': [200, 300], '顏色': '皇家藍'},
{'範圍': [300, 400], '顏色': '矢車菊藍'},
{'範圍': [400, 500], '顏色': '中藍色'}
], # 速度計顏色範圍的設置
'臨界點': {
'line': {'color': "red", 'width': 4},
“厚度”:0.75,
「價值」:490
} # 閾值設定
}))
# 更新圖形版面(背景顏色、字體)
圖.update_layout(
paper_bgcolor="lavender", # 紙張背景顏色
font={'color': "darkblue", 'family': "Arial"}, # 字型設置
註釋=[
{
“x”:0.5,
「和」:0.4,
'外部參照':'紙張',
'yref': '紙',
'showarrow':錯誤,
'text': 'Units', # 單位標籤
'font': {'size': 16, 'color': 'darkblue'} # 標籤字體設置
}
]
)
# 顯示圖表
圖.show()
Python ChatGPT - 人工智慧
# 程式 - Python - Python ChatGPT - 人工智慧
# 由威爾遜·博爾赫斯·德·奧利維拉開發
# 您需要在 OpenAI 網站上建立一個“API 金鑰”
# 您需要使用以下指令安裝openai函式庫:
# pip 安裝 openai
# -*- 編碼:cp1252 -*-
將 tkinter 導入為 tk
從 tkinter 匯入訊息框
導入openai
# 在這裡替換金鑰
openai.api_key = "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"
def 產生(訊息):
回應 = openai.ChatCompletion.create(
型號=“gpt-3.5-turbo”,
訊息=訊息,
最大令牌=1024,
溫度=0.5
)
返回[response.choices[0].message.content,response.usage]
def 準備():
mensagens = [{“角色”:“系統”,“內容”:
「你是個好助手。」}]
問題 = txt_pergunta.get("1.0","結束")
messages.append({"角色": "使用者", "內容": str(問題)})
回覆=生成(訊息)
txt_resposta.config(狀態=“正常”)
txt_resposta.delete("1.0","結束")
txt_resposta.insert("1.0",responder[0])
txt_resposta.config(狀態=「已停用」)
mensagens.append({"角色": "助理", "內容": 回應者[0]})
定義新的():
txt_question.delete("1.0","結束")
txt_resposta.config(狀態=“正常”)
txt_resposta.delete("1.0","結束")
def 退出():
tela.destroy()
主體 = tk.Tk()
tela.geometry('1960x800 0 0')
tela.state('縮放')
screen.title("Python ChatGPT - 人工智慧")
tela['bg'] = "黃色"
lbl_question = tk.Label(tela, text="你想要什麼?", bg="yellow",
fg =“黑色”,字體=('Calibri',12,'粗體'),錨=“w”)
lbl_question.place(x = 20, y = 20, 高度 = 25)
txt_question = tk.Text(tela, font=('Calibri', 20), bg="黑色", fg="白色")
txt_pergunta.place(x = 20,y = 50,寬度=1320,高度=70)
btn_generar = tk.Button(螢幕, 文字 =「生成」,
bg ='暗灰色',前景='黃色',字體=('Calibri',14),
命令=準備)
btn_gerar.place(x = 570,y = 150,寬度= 200,高度= 60)
lbl_response = tk.Label(螢幕,text =“回應:”,bg =“黃色”,fg =“黑色”,
字體=('Calibri',12,'粗體'),錨=“w”)
lbl_resposta.place(x = 20, y = 200, 高度 = 25)
txt_resposta = tk.Text(tela, font=('Calibri', 12), bg="黑色", fg="白色")
txt_resposta.place(x = 20,y = 230,寬度=1300,高度=360)
scroll_y = tk.Scrollbar(tela, orient="vertical", command=txt_resposta.yview)
滾動_y.place(x = 1320,y = 230,高度= 360)
btn_novo = tk.Button(螢幕, 文字 =「新」,
bg ='暗灰色',前景='黃色',字體=('Calibri',14),
命令=新)
btn_novo.place(x = 570,y = 620,寬度= 80,高度= 40)
btn_exit = tk.Button(螢幕, 文字 =「退出」,
bg ='暗灰色',前景='黃色',字體=('Calibri',14),
命令=退出)
btn_sair.place(x = 690,y = 620,寬度= 80,高度= 40)
txt_pergunta.focus_set()
布料.mainloop()
Mega-Sena 抽獎計劃
# 節目 - Mega-Sena 抽獎
# 允許您進行不同的抽獎
# 由威爾遜·博爾赫斯·德·奧利維拉開發
隨機導入
將 tkinter 導入為 tk
從 tkinter 導入 *
主體 = Tk()
screen.title("Mega-Sena Draw - 各種抽獎")
C = 畫布(tela,bg =“綠色”,高度= 600,寬度= 1000)
C.create_text(500,75, text="Mega-Sena Draw",
錨=“c”,填充=“黃色”,字體=('Helvetica','22','粗體'))
def 繪製():
結果=[]
隨機種子()
當 len(結果) < 6 時:
r = random.randint(1, 60)
如果 r 不在結果中:
結果.append(r)
結果.sort()
x = 140
y = 200
續 = 0
當繼續<6:
橢圓= C.create_oval(x, y, x 110, y 110, 填充=“白色”)
C.create_text(x 52,y 50, 文字=結果[續],
錨=“c”,填充=“黑色”,字體=('Helvetica','36','粗體'))
繼續 = 1
x =120
C.pack()
def 退出():
tela.destroy()
Submitbtn = tk.Button(螢幕, text ="新繪圖",
bg ='金色',前景='黑色', font=('Calibri', 12, '粗體'),
命令=繪製)
提交btn.place(x = 450,y = 380,寬度= 150,高度= 50)
提交btn = tk.Button(tela, text ="Sair",
bg ='黑色',前景='白色',font=('Calibri', 12, '粗體'),
命令=退出)
提交btn.place(x = 820,y = 530,寬度= 150,高度= 50)
抽獎()
布料.mainloop()
程式計算長方形、圓形和三角形的面積
# 程式-計算長方形、圓形和三角形的面積
# 由威爾遜·博爾赫斯·德·奧利維拉開發
導入數學
將 tkinter 導入為 tk
從 tkinter 導入 *
從 tkinter 匯入訊息框
主體 = Tk()
tela.state('縮放')
screen.title("計算長方形、圓形和三角形的面積")
def calc_square():
嘗試:
var_base = float(txt_base_qd.get().replace(',', '.'))
var_height = float(txt_height_qd.get().replace(',', '.'))
除了:
messagebox.showinfo("警告 - 矩形",
“請檢查輸入的數字”)
別的:
var_面積 = var_base * var_height
txt_area_qd.delete(0,"結束")
txt_area_qd.insert(0, f'{var_area:.2f}'.replace('.', ','))
def calc_circle():
嘗試:
var_radius = float(txt_radius_ci.get().replace(',', '.'))
除了:
messagebox.showinfo("通知-圓圈",
“請檢查輸入的數字”)
別的:
var_area = math.pi * var_raio ** 2
txt_area_ci.delete(0,"結束")
txt_area_ci.insert(0, f'{var_area:.2f}'.replace('.', ','))
def calc_triang():
嘗試:
var_base = float(txt_base_tr.get().replace(',', '.'))
var_height = float(txt_height_tr.get().replace(',', '.'))
除了:
messagebox.showinfo("警告-三角形",
“請檢查輸入的數字”)
別的:
var_面積 = var_base * var_height / 2
txt_area_tr.delete(0,"結束")
txt_area_tr.insert(0, f'{var_area:.2f}'.replace('.', ','))
C = 畫布(tela,bg =“金”,寬度 = 1960,高度 = 800)
#文字
C.create_text(660,35,
text="計算長方形、圓形和三角形的面積",
錨=“c”,填充=“黑色”,字體=('Helvetica','22','粗體'))
#正方形
Quadradro = C.create_rectangle(100, 100, 300, 300, 輪廓 = "黑色",
填充=“藍色”,寬度=2)
lbl_form_quad = tk.Label(screen, text ="面積 = 底面 × 高度", bg="金色",
fg="黑色", font=('Calibri', 12, '粗體'))
lbl_form_quad.place(x = 125,y = 310)
lbl_base_qd = tk.Label(tela, text ="Base:", bg="gold", fg="black",
字型=('Calibri', 12), 錨點='w')
lbl_base_qd.place(x = 125,y = 350,寬度=90,高度= 25)
txt_base_qd = tk.Entry(tela, 寬度 = 35, justify=CENTER)
txt_base_qd.place(x = 180,y = 350,寬度= 75,高度= 25)
lbl_altura_qd = tk.Label(tela, text ="Altura:", bg="金", fg="黑色",
字型=('Calibri', 12), 錨點='w')
lbl_altura_qd.place(x = 125,y = 380,寬度=90,高度= 25)
txt_altura_qd = tk.Entry(tela, 寬度 = 35, justify=CENTER)
txt_altura_qd.place(x = 180,y = 380,寬度 = 75,高度 = 25)
btn_quad = tk.Button(tela, text ="計算", bg ='黃色',foreground='黑色',
字型=('Calibri', 12, '粗體'), 指令= calc_quadrado)
btn_quad.place(x = 180,y = 410,寬度 = 75)
lbl_area_qd = tk.Label(tela, text ="Área:", bg="金色", fg="黑色",
字型=('Calibri', 12), 錨點='w')
lbl_area_qd.place(x = 125,y = 450,寬度=90,高度= 25)
txt_area_qd = tk.Entry(tela, 寬度 = 35, justify=CENTER)
txt_area_qd.place(x = 180,y = 450,寬度= 75,高度= 25)
#圓圈
circulo = C.create_oval(580, 100, 780, 300, 輪廓 = "黑色",
填充=“白色”,寬度= 2)
lbl_form_circ = tk.Label(布料, text ="面積 = π . r2", bg="金",
fg="黑色", font=('Calibri', 12, '粗體'))
lbl_form_circ.place(x = 640,y = 310)
lbl_raio_ci = tk.Label(tela, text ="半徑:", bg="金色", fg="黑色",
字型=('Calibri', 12), 錨點='w')
lbl_raio_ci.place(x = 620,y = 350,寬度=90,高度= 25)
txt_raio_ci = tk.Entry(tela, 寬度 = 35, justify=CENTER)
txt_raio_ci.place(x = 675,y = 350,寬度= 75,高度= 25)
btn_circ = tk.Button(tela, text ="計算", bg ='黃色',foreground='黑色',
字型=('Calibri', 12, '粗體'), 指令= calc_circulo)
btn_circ.place(x = 675,y = 410,寬度 = 75)
lbl_area_ci = tk.Label(tela, text ="Área:", bg="金色", fg="黑色",
字型=('Calibri', 12), 錨點='w')
lbl_area_ci.place(x = 620,y = 450,寬度= 90,高度= 25)
txt_area_ci = tk.Entry(tela, 寬度 = 35, justify=CENTER)
txt_area_ci.place(x = 675,y = 450,寬度= 75,高度= 25)
#三角形
三角形 = { '邊界' : [ 1150 , 100 , 1050 , 300 , 1250 , 300 ],
'kind': 'tri', 'fill': True}
C.create_polygon(list(triangulo.values())[0],outline='black',
填充='紅色',寬度= 2)
lbl_form_tri2 = tk.Label(tela, text ="___________", bg="gold",
fg="黑色", font=('Calibri', 12, '粗體'))
lbl_form_tri2.place(x = 1132,y = 307)
lbl_form_tri1 = tk.Label(screen, text="面積 = 底面 × 高度", bg="金",
fg="黑色", font=('Calibri', 12, '粗體'))
lbl_form_tri1.place(x = 1080,y = 302)
lbl_form_circ3 = tk.Label(tela, text = "2", bg = "金色", fg = "黑色",
字型=('Calibri', 12, '粗體'))
lbl_form_circ3.place(x = 1170,y = 328)
lbl_base_tr = tk.Label(tela, text ="Base:", bg="gold", fg="black",
字型=('Calibri', 12), 錨點='w')
lbl_base_tr.place(x = 1080,y = 350,寬度= 90,高度= 25)
txt_base_tr = tk.Entry(tela, 寬度 = 35, justify=CENTER)
txt_base_tr.place(x = 1135,y = 350,寬度 = 75,高度 = 25)
lbl_height_tr = tk.Label(螢幕,text =“高度:”,bg =“金色”,fg =“黑色”,
字型=('Calibri', 12), 錨點='w')
lbl_altura_tr.place(x = 1080,y = 380,寬度=90,高度= 25)
txt_altura_tr = tk.Entry(tela, 寬度 = 35, justify=CENTER)
txt_altura_tr.place(x = 1135,y = 380,寬度 = 75,高度 = 25)
btn_triang = tk.Button(tela, text ="計算", bg ='黃色',foreground='黑色',
字型=('Calibri', 12, '粗體'), 指令= calc_triang)
btn_triang.place(x = 1135,y = 410,寬度 = 75)
lbl_area_tr = tk.Label(tela, text ="Área:", bg="金色", fg="黑色",
字型=('Calibri', 12), 錨點='w')
lbl_area_tr.place(x = 1080,y = 450,寬度= 90,高度= 25)
txt_area_tr = tk.Entry(tela, 寬度 = 35, justify=CENTER)
txt_area_tr.place(x = 1135,y = 450,寬度 = 75,高度 = 25)
C.pack()
布料.mainloop()
兒童學習的乘法表音頻程序
# 兒童學習的帶有音訊的乘法口訣表程序
# 由威爾遜·博爾赫斯·德·奧利維拉開發
# 您需要安裝以下程式庫:
# pip 安裝 pyttsx3
導入 pyttsx3
引擎 = pyttsx3.init("sapi5")
engine.setProperty("聲音", "巴西")
印('\n')
n = int(input('您想要哪一個數字的乘法表?'))
印('\n')
對於範圍 (1,11) 內的 x:
txt_result = str(n) ' X ' str(x) ' = ' str(x * n)
txt_audio = str(n) ' 次 ' str(x) ' 等於 ' str(x * n)
列印(txt_結果)
引擎.say(txt_audio)
引擎.runAndWait()
引擎停止()
Prisma 計劃 - 光折射
# Prisma 計劃 - 光的折射
導入烏龜作為筆
來自海龜導入螢幕
身體=螢幕()
screen.title("棱鏡-光的折射")
定義開始():
筆.hideturtle()
caneta.speed('最快')
pen.bgcolor('黑色')
caneta.pencolor('淺藍色')
筆.penup()
筆.goto(POS_TEXT)
pen.write('Prisma - 光折射', True,align='left',font=('Calibri',20,'normal'))
筆.轉到(0,0)
def draw_prism(x,y,邊,顏色,寬度):
筆.轉到(x,y)
筆.pendown()
筆.pencolor(顏色)
筆.pensize(寬度)
筆.向後(側面/2)
筆.左(60)
筆.向前(側)
右筆(120)
筆.向前(側)
右筆(120)
筆.向前(側/2)
def draw_beam(x,y,長度):
筆.penup()
pen.goto(x 長度,y OFFSET)
筆.pendown()
pen.pencolor('白色')
筆.筆尺寸(15)
筆.goto(x,y OFFSET)
def draw_refraction(顏色,x,ate_x,y,ate_y):
筆.penup()
pen.goto(x,y 偏移)
筆.pendown()
筆.pencolor(顏色)
筆.筆尺寸(15)
筆.goto(ate_x,ate_y)
POS_TEXT = (-130,-190)
排氣量 = 60
紫紅色 = '#4B0082'
開始()
draw_prisma(0,-50,200,"白色",2)
caneta.speed('最慢')
繪製光束(0,0,400)
draw_refraction('紅色',0,400,0,-80)
draw_refraction('橘色',0,400,0,-105)
draw_refraction('黃色',0,400,0,-130)
draw_refraction('綠色',0,400,0,-155)
draw_refraction('mediumblue',0,400,0,-180)
draw_refraction('海軍',0,400,0,-205)
繪製折射(AZULMAGENTA,0,400,0,-230)
筆.done()