学会python——用python编写一个计算机程序(python实例十六)

目录

1.认识Python

2.环境与工具

2.1 python环境

2.2 Visual Studio Code编译

3.编写计算器程序

3.1 代码构思

3.2 代码实例

3.3 运行结果

 4.总结


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.总结

通过定义各个按钮进一步实现输入输出操作,从而实现了可视化计算器的程序编写。

  • 26
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值