python學習記錄五 製作乙個非常簡單的計算器

2021-10-03 15:03:15 字數 3033 閱讀 3242

好吧,最近學python經常和c語言弄混,習慣太不一樣了

#coding:utf-8 

import tkinter #引入介面設計庫

import sys #引入系統互動操作

import os #方便路徑訪問

import re #引入正則化

#利用此函式實現資源路徑的定位

def get_resources_path(relative_path):

if getattr (sys, "frozen", false):

base_path = sys._meipass #獲取臨時資源

else:

base_path = os.path.abspath(".") #獲取當前路徑

return os.path.join(base_path, relative_path) #獲取絕對路徑

logo_path = get_resources_path(os.path.join("resources" ,"cc1.ico"))

image_path = get_resources_path(os.path.join("resources" ,"cc2.png"))

class mainform:

def __init__(self):

self. root = tkinter.tk() #新建乙個窗體

self.root.title ( "好用的計算器") #標題

self.root.geometry("231x280") #初始視窗大小,為小寫x

self.root.maxsize (1000,1000) #最大化後視窗大小

self.root.iconbitmap(logo_path) #圖示,bmp格式可直接修改字尾

self.input_frame()#顯示輸入組

self.button_frame() #顯示按鈕組

self.root.mainloop() #顯示整個介面

#定義輸入元件

def input_frame(self):

self.input_frame = tkinter.frame(self.root, width = 20) #建立乙個內部容器

self.content = tkinter.strin**ar() #標籤的顯示

#單行輸入使用entry元件

self.entry = tkinter.entry(self.input_frame,

width = 14,

font = ("微軟雅黑", 20),

textvariable = self.content)

#entry元件顯示

self.entry.pack(fill = "x",expand ="1")

self.clean = false

self.input_frame.pack (side = "top")

def button_frame(self):

#建立乙個button組

self.button_frame = tkinter.frame(self.root, width = 50)

#申明乙個列表存button元件

self.button_list = [,,,]

#規劃button的位置

self.row = 0

for group in self.button_list:

self.column = 0

for button in group:

button.bind ("", lambda event: self.button_handle(event)) #繫結事件

button.grid(row = self.row, column = self.column) #放置每個按鈕的位置

self.column += 1

self.row += 1

self.button_frame.pack (side ="bottom") #放置整個frame

def button_handle(self, event):

#獲取輸入的字元

oper = event.widget ["text"]

#清除操作

if self.clean :

self.content.set("")

self.clean = false

#顯示輸入的字元

if oper != "=":

self.entry.insert ("end", oper)

else:

#計算表示式

result =0

exp = self.entry.get()

pattern = r"\+|\-|\*|\/"

nums = re.split(pattern, exp)

flag = re.findall (pattern, exp)[0]

if flag == "+":

result = float(nums[0] )+ float(nums[1])

if flag == "-":

result = float(nums[0] )- float(nums[1])

if flag == "*":

result = float(nums[0]) * float(nums[1])

if flag == "/":

result = float(nums[0]) / float(nums[1])

#顯示計算結果

self.entry.insert("end", "=%s" %result)

self.clean = true

def main():

mainform()

if __name__ == "__main__":

main()

太難了,我快要忘記c怎麼寫的了,啊啊啊啊啊啊,可不可以統一一下啊,我要精神**了

python製作乙個簡單網路爬蟲

這章我們用python標準庫urllib2來實現簡單的網路爬蟲 本章很簡單適合小白,不喜勿噴 一 urllib2定義了以下方法 urllib2.urlopen url,data,timeout data引數 post資料提交 例如 賬號密碼傳送給伺服器判斷登陸 url引數 網頁url,可接受requ...

使用Python製作乙個隨機點名程式

python是一門具有強大演算法的程式語言,裡面自帶了許多庫,這個 所需要的是乙個隨機數的庫。如下。coding utf 8 f int input 請輸入抽取的人數 老師輸入抽取點名的人數g 0 定義乙個變數,用於計數 while g f 乙個while迴圈,可以通過變數小於的值來控制想要抽取幾個...

用 Python 製作乙個 貪吃蛇

今天呢,將分享乙個關於 遊戲製作的小案例 僅用不到 200 行 實現乙個貪吃蛇遊戲,作為 python遊戲 系列的第一篇文章,先看一下程式效果 關於程式具體實現部分,請看下文 工具庫程式中用到的 python 庫有 sys pygame time collection time random 其中核...