学会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 tkdef cal_command(event):but_text = event.widget.cget("text")if but_text == "=":try:result_num = str(eval(show_text.get()))but_text_new = result_numexcept Exception as e:show_text.set("Error")returnelif but_text == "C":but_text_new = ""else:but_text_new = show_text.get() + but_textshow_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 btdef layout():txt = ['7', '8', '9', '+', '4', '5', '6', '-', '1', '2', '3', '*', 'C', '0', '=', '/']but_index = 0for i in range(1, 5):for j in range(4):if but_index >= len(txt):breakif txt[but_index] == "=":create_button(txt[but_index], i, j, width=25, columnspan=2)breakelif txt[but_index] == "0":create_button(txt[but_index], i, j, width=25, columnspan=2)breakelse:create_button(txt[but_index], i, j)but_index += 1if __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.总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/38082.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C语言】刷题笔记 Day1

多刷题 多思考 【题目1】 实现字母的大小写转换&#xff0c;实现多组输入输出 1. getchar 为输入函数&#xff0c;EOF&#xff08;end of file&#xff09;为文件结束标志&#xff0c;通常为文件结束的末尾。 2. 题目中要求实现多组输入输出&#xff0c;那我们用 while 循…

python+django 环境搭建以及post接口封装

1、搭建pythondjango环境 python 3.7.9的版本 具体参考之前的安装教程 django 使用 pip install django 会自动安装 检验安装版本&#xff1a; python -m django --version 2、创建django项目 django-admin startproject projectname 启动项目&#xff1a;python manage.py…

011-GeoGebra基础篇-验证泰勒斯定理(动点在指定曲线上移动)

注意咯&#xff0c;如果说前期的文章随便看看就行&#xff0c;但从这篇往后的内容&#xff0c;则需要君略微动动brain了。当然&#xff0c;后续的文章如果感觉吃力的话&#xff0c;可以看看本专栏序号比较小的文章&#xff0c;可能会对你开卷有益。 若A, B, C是圆周上的三点&am…

Windows PowerShell 添加新配置文件(打开对应的目录,并执行命令)

%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe ./redis-server.exe %SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe yarn dev 人工智能学习网站 https://chat.xutongbao.top

数据分析如何在企业中发挥价值

数据分析如何在企业中发挥价值 数据分析的目的是什么为什么怎么做做什么 思考问题流程确认问题拆解问题量化分析 分析数据流程收集数据处理数据制作图表 全流程 数据分析的目的 是什么 通过数据量化企业当前的经营现状或业务事实&#xff0c;将业务细节转换为具体数据&#xf…

通过容器启动QAnything知识库问答系统

QAnything (Question and Answer based on Anything) 是致力于支持任意格式文件或数据库的本地知识库问答系统&#xff0c;可断网安装使用。目前已支持格式&#xff1a;PDF(pdf)&#xff0c;Word(docx)&#xff0c;PPT(pptx)&#xff0c;XLS(xlsx)&#xff0c;Markdown(md)&…

LabVIEW汽车转向器测试系统

绍了一种基于LabVIEW的汽车转向器测试系统。该系统集成了数据采集、控制和分析功能&#xff0c;能够对转向器进行高效、准确的测试。通过LabVIEW平台&#xff0c;实现了对转向器性能参数的实时监测和分析&#xff0c;提升了测试效率和数据精度&#xff0c;为汽车转向器的研发和…

CAM350删除铺铜?

CAM350删除铺铜&#xff1f; 1、选择菜单栏Add 2、选择Polygon Void→Line... 3、然点击需要操作的铜箔&#xff0c;使其高亮 4、用鼠标框选需要删除的部分&#xff0c;然后右击 5、删除后如下图所示 The Layer Bar controls are part of the new Navigation Pane and can also…

OpenStack开源虚拟化平台(二)

目录 三、对象存储服务Swift&#xff08;一&#xff09;Swift特性&#xff08;二&#xff09;应用场景&#xff08;三&#xff09;Swift主要组件&#xff08;四&#xff09;Swift基本原理&#xff08;五&#xff09;实例分析 四、镜像服务Glance&#xff08;一&#xff09;Glan…

JAVA-Redis数据结构—跳跃表(Skiplist)【包含Java实现详情代码】

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(注明:作者:王文峰…

CAAC无人机执照:视距内驾驶员与超视距驾驶员区别详解

CAAC无人机执照中的视距内驾驶员与超视距驾驶员在多个方面存在显著的区别。以下是详细的对比和解释&#xff1a; 1. 定义与操作范围&#xff1a; - 视距内驾驶员&#xff08;驾驶员证&#xff09;&#xff1a;操作无人机时&#xff0c;无人机必须在操控员的视线范围内&#xff…

数据开源|GigaSpeech 2:三万小时东南亚多语种语音识别开源数据集发布

“Giga”一词源于“gigantic”&#xff0c;互联网上具有海量音频资源&#xff0c;但语音质量良莠不齐&#xff0c;高质量音频文本对数据十分稀缺且标注成本高昂&#xff0c;特别是在小语种领域。GigaSpeech 是一个非常成功的英文开源数据集&#xff0c;以 YouTube 和 Podcast 为…

[数据库原理]关系范式总结(自用)

如有错误&#xff0c;欢迎指正&#xff01;&#xff01;&#xff01; 有一些题目我放在pdf里面了

“核心期刊论文选题与写作技巧分享”——郭顺利

讲师简介&#xff1a; 郭顺利博士&#xff0c;一位拥有管理学博士学位的副教授及硕士生导师&#xff0c;活跃在学术界&#xff0c;同时在多份CSSCI收录期刊中担任审稿专家。在近年的学术生涯中&#xff0c;他发表了超过50篇的核心期刊论文&#xff0c;并成功指导研究生在核心期…

充电宝买哪个牌子好?2024年十大口碑最好充电宝推荐

在如今快节奏的生活中&#xff0c;充电宝已然成为我们出行必备的物品之一。然而&#xff0c;面对市场上琳琅满目的充电宝品牌和型号&#xff0c;我们常常陷入选择的困境&#xff1a;充电宝买哪个牌子好&#xff1f;2024 年&#xff0c;充电宝技术不断革新&#xff0c;新品牌层出…

1、数据库模型图、er图

关系 user和administarators是多对一的关系 user和order是一对多的关系 shipped和order是多对一的关系 order和books是多对多的关系 leavewords和order是一对一的关系 stock和books是一对多的关系 Chens 数据库表示法——ER图 Crows Foot数据库表示法——数据库模型图 Navicat表…

python机器人编程——用pytorch实现六轴机械臂的正向和逆向数值解算,及python算法解析

目录 一、前言二、实现原理2.1正向建模2.2张量化2.3绘制3D动画及操作UI 三、结论四、python源码PS.扩展阅读ps1.六自由度机器人相关文章资源ps2.四轴机器相关文章资源ps3.移动小车相关文章资源 一、前言 前面对六轴&#xff08;或多轴&#xff09;机械臂进行了一些研究&#x…

hadoop分布式云笔记系统-计算机毕业设计源码15725

摘 要 随着信息技术的飞速发展&#xff0c;人们对于数据的存储、管理和共享需求日益增长。传统的集中式存储系统在处理大规模数据时面临着性能瓶颈和扩展性问题。而 Hadoop 作为一种分布式计算框架&#xff0c;为解决这些问题提供了有效的解决方案。 本研究旨在设计并实现一种…

【数据结构与算法】堆排序算法原理与实现:基于堆实现的高效排序算法

&#x1f493; 博客主页&#xff1a;倔强的石头的CSDN主页 &#x1f4dd;Gitee主页&#xff1a;倔强的石头的gitee主页 ⏩ 文章专栏&#xff1a;《数据结构与算法》 期待您的关注 ​ 目录 一、引言 堆排序的简介 堆排序的特点 二、堆的概念 三、堆排序算法的原理 四、堆…

15kg级弹簧刀高速巡飞无人机技术详解

弹簧刀高速巡飞无人机&#xff0c;作为一种先进的战术导弹系统&#xff0c;融合了无人机与导弹的双重特性&#xff0c;成为了现代战争中不可或缺的侦察与打击利器。该无人机以其小巧的外形设计、优异的性能表现和广泛的适用领域&#xff0c;受到了全球军事领域的广泛关注。弹簧…