大家好,欢迎来到IT知识分享网。
目录
1.认识Python
Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。
Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字或标点符号,它具有比其他语言更有特色的语法结构。
2.环境与工具
2.1 python环境
在Windows上使用命令行窗口查看所安装的python版本
python --version
2.2 Visual Studio Code编译
Visual Studio Code是一款由微软开发且跨平台的免费源代码编辑器。该软件以扩展的方式支持语法高亮、代码自动补全、代码重构功能,并且内置了命令行工具和Git 版本控制系统。
3.编写计算器程序
3.1 代码构思
面板上的每一个按键都是一个button控件,定义函数处理这些控件事件,进而实现单击控件调用函数进行数学计算。
3.2 代码实例
import tkinter as tk def cal_command(event): but_text = event.widget.cget("text") if but_text == "=": try: result_num = str(eval(show_text.get())) but_text_new = result_num except Exception as e: show_text.set("Error") return elif but_text == "C": but_text_new = "" else: but_text_new = show_text.get() + but_text show_text.set(but_text_new) def create_button(text, row, column, width=12, height=2, columnspan=1): bt = tk.Button(text=text, width=width, height=height, font=("Arial", 14)) bt.grid(row=row, column=column, columnspan=columnspan, sticky="nsew") bt.bind("<Button-1>", cal_command) return bt def layout(): txt = ['7', '8', '9', '+', '4', '5', '6', '-', '1', '2', '3', '*', 'C', '0', '=', '/'] but_index = 0 for i in range(1, 5): for j in range(4): if but_index >= len(txt): break if txt[but_index] == "=": create_button(txt[but_index], i, j, width=25, columnspan=2) break elif txt[but_index] == "0": create_button(txt[but_index], i, j, width=25, columnspan=2) break else: create_button(txt[but_index], i, j) but_index += 1 if __name__ == '__main__': Win = tk.Tk() Win.title("Calculator") Win.geometry("400x400") show_text = tk.StringVar(value='') lab = tk.Label(Win, relief=tk.SUNKEN, textvariable=show_text, width=25, height=2, anchor='e', font=("Arial", 18)) lab.configure(background="white") lab.grid(row=0, column=0, columnspan=4, sticky="nsew") # 配置行和列的权重 for i in range(5): Win.grid_rowconfigure(i, weight=1) for j in range(4): Win.grid_columnconfigure(j, weight=1) layout() Win.mainloop()
3.3 运行结果
4.总结
通过定义各个按钮进一步实现输入输出操作,从而实现了可视化计算器的程序编写。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/126416.html