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

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

时间:2024-07-05 20:27:56浏览次数:23  
标签:计算机程序 index python text but 实例 Win txt

目录

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

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

标签:计算机程序,index,python,text,but,实例,Win,txt
From: https://blog.csdn.net/LNN0212/article/details/140124110

相关文章

  • Financial Analysis with Python
    Project1OverviewandfilesProject1PleasereviewallthematerialfromthefollowingLecturesbeforecompletingthisassessment:Lecture1-FinancialAnalysiswithPython:DownloadingStockPricesLecture2-Python:TheBuildingBlocksLecture3-P......
  • Python Pandas实现高效表格自动化处理
    1.Pandas简介Pandas是Python中用于数据分析和处理的强大库,它提供了高性能、易用的数据结构和工具。对于处理结构化数据,特别是表格数据,Pandas是一个不可或缺的工具。本文将介绍如何使用Pandas进行表格自动化处理。2.安装Pandas使用pip安装Pandas:pipinstallpandas......
  • Eureka服务实例的健康检查机制:确保微服务架构的稳定性
    引言在微服务架构中,服务实例的健康状态对于整个系统的稳定性至关重要。Eureka作为Netflix开源的服务发现框架,提供了一套机制来对服务实例进行健康检查。本文将详细探讨Eureka中的服务实例健康检查机制,包括其工作原理、实现方式以及如何配置。Eureka服务健康检查的基本概念......
  • python实验二 数据类型、表达式及语句
    一、实验目的1.会使用Pycharm编辑器编写简单数据类型;2.掌握常量、变量的表示方式和简单操作;3.掌握Python语言中基本的输入和输出方法;4.掌握Python语言的各种运算符以及这些运算符的表达式;5.掌握字符串类型的格式化方法;6.能综合应用所学基础知识编写一些基本的程序。二、......
  • 数据分享|python分类预测职员离职:逻辑回归、梯度提升、随机森林、XGB、CatBoost、LGB
    全文链接:https://tecdat.cn/?p=34434原文出处:拓端数据部落公众号分析师:ShilinChen离职率是企业保留人才能力的体现。分析预测职员是否有离职趋向有利于企业的人才管理,提升组织职员的心理健康,从而更有利于企业未来的发展。解决方案任务/目标采用分类这一方法构建6种模型对职......
  • python多线程与多进程开发实践及填坑记(1)
    1.需求分析1.1.概述基于Flask、Pika、Multiprocessing、Thread搭建一个架构,完成多线程、多进程工作。具体需求如下:并行计算任务:使用multiprocessing模块实现并行计算任务,提高计算效率、计算能力。消息侦听任务:使用threading模块完成RabbitMQ消息队列的侦听任务,将接收到......
  • Python异步编程技术详解:async、await、yield和anext
    Python异步编程技术详解:async、await、yield和anext1.async和await2.yield3.anext4.StopAsyncIteration5.综合示例:异步聊天机器人总结异步编程是Python中一种强大的并发编程模式,可以显著提高I/O密集型应用的性能。本文将详细介绍Python中的几种重要的异步编......
  • Python金融时间序列模型ARIMA 和GARCH 在股票市场预测应用|附代码数据
    原文链接:http://tecdat.cn/?p=24407最近我们被客户要求撰写关于金融时间序列模型的研究报告,包括一些图形和统计输出。这篇文章讨论了自回归综合移动平均模型(ARIMA)和自回归条件异方差模型(GARCH)及其在股票市场预测中的应用 ( 点击文末“阅读原文”获取完整代码数据******......
  • Oracle实例启动阶段的详细解析
    Oracle数据库实例的启动过程是一个多阶段的过程,每个阶段都有特定的操作和目的。以下是每个启动阶段的详细解析:1.启动实例(InstanceStartup)命令:STARTUPNOMOUNT主要操作:(1)分配内存:分配系统全局区(SGA),SGA是一组共享内存结构,用于存储数据库数据和控制信息。(2)启动后台进程:启动各......
  • 还在为如何学Python而犯难吗?在这里分享下最全的Python学习路线!
    先是Python基础知识的看完基础的,那就来进阶的,前面的是入门,现在的也就是作为一个程序员的基础最后在来个爬虫的觉得有用的朋友,记得点赞哟,如果觉得还看得不过瘾,可以私信我,我这里有Python爬虫系统教学的免费直播观看名额或者还想看其他知识点的,可以在下面留言。......