程序设计方法学作业:任选C++、Java、C#、JavaScript、Python中的一门语言,编写完整的二元计算器的程序。前段时间学习了python,正好用来练练手。整体代码比较简单,没用到什么知识点

整体框架

写了两个文件,main.py和tools.py。
main文件中主要负责不同模块的条件判断调用,tools中写了不同的函数。

知识点

1.python内置进制转换函数
# 十进制转换为其他进制
dec = int(input("请输入十进制数字:"))print("转换为二进制为:", bin(dec))print("转换为八进制为:", oct(dec))print("转换为十六进制为:", hex(dec))
# 其他进制转换为十进制
string2 = '111000101'
print('二进制字符串转换成十进制数为:',int(string1,2))
string8 = '1234567'
print('八进制字符串转换成十进制数为:',int(string8,8))
string16 = 'ABCD'
print('十六进制字符串转换成十进制数为:',int(string16,16))
2.in 和not in

可以用来判断字符串是否位于某个字符串字典中,其他类型功能相似。

 while sci_ope not in ["1", "2"]:
3.input接收多个值

直接定义多个变量,同时input

num_a, ope, num_b = input("请输入操作")
4.平方、根号

import math,调用pow进行平方操作,sqrt进行开方操作。

    print("%d² = %d" % (ope, math.pow(ope, 2)))print("√%d = %.20f" % (ope, math.sqrt(ope))

全部代码

main.py

# 编写完整的二元计算器的程序import toolsversion = "V 1.0"while True:operate_str = tools.show_wel(version)if operate_str in ["1", "2", "3", "4"]:# 标准计算器(+ - * /)if operate_str == "1":tools.stan_cal()# 科学计算器(平方 三角运算等)elif operate_str == "2":sci_ope = tools.sci_cal_wel()tools.sci_cal(sci_ope)# 程序员计算器(进制转换)elif operate_str == "3":tools.pro_cal()# 退出系统elif operate_str == "4":print("欢迎再次使用计算器!")breakelse:print("您的输入错误,请重新输入!")

tools.py

import mathdef show_wel(version):"""显示计算器首界面:param version: 版本号:return: 返回选择的不同操作"""print("*" * 50)print("欢迎使用简易计算器 %s " % version, end="\n\n")print("请选择您要实现的功能:")print("1.标准")print("2.科学")print("3.程序员")print("4.退出系统")print("*" * 50)ope = input("请输入您想进行的操作:")print("您选择的操作是:%d" % int(ope))return opedef sci_cal_wel():"""显示科学计算器首界面:return:"""print("*" * 50)print("选择要进行的操作:")print("1.X²")print("2.√x")sci_ope = input("请输入选择的操作:")while sci_ope not in ["1", "2"]:sci_ope = input("您的输入有误,请重新输入:")return sci_ope
# 标准计算器操作
# eval() 函数用来执行一个字符串表达式,并返回表达式的值def stan_cal():"""该函数实现标准计算器操作,包括加减乘除以及取余运算"""num_a, ope, num_b = input("请输入操作")if ope == "+":print("%d + %d = %d" % (int(num_a), int(num_b), int(num_a) + int(num_b)))elif ope == "-":print("%d - %d = %d" % (int(num_a), int(num_b), int(num_a) - int(num_b)))elif ope == "*":print("%d * %d = %d" % (int(num_a), int(num_b), int(num_a) * int(num_b)))elif ope == "/":print("%d / %d = %.20f" % (int(num_a), int(num_b), int(num_a) / int(num_b)))elif ope == "%":print("%d %% %d = %d" % (int(num_a), int(num_b), int(num_a) % int(num_b)))def sci_cal(sci_ope):"""实现简单科学计算器,仅包括平方操作和开根操作:param sci_ope: 传递过来要进行的操作"""if sci_ope == "1":ope = int(input("请输入操作数:"))print("%d² = %d" % (ope, math.pow(ope, 2)))elif sci_ope == "2":ope = int(input("请输入操作数:"))print("√%d = %.20f" % (ope, math.sqrt(ope)))def pro_cal():"""实现简单程序员计算器,实现十进制转换为二进制、八进制、十六进制"""dec = int(input("请输入十进制数字:"))print("转换为二进制为:", bin(dec))print("转换为八进制为:", oct(dec))print("转换为十六进制为:", hex(dec))

完整项目下载:
我的GitHub(calculator.zip)

实战Python:利用python在pycharm开发终端简易计算器相关推荐

  1. NLP实战:利用Python理解、分析和生成文本 | 赠书

    导读:本文内容参考自<自然语言处理实战:利用Python理解.分析和生成文本>一书,由Hobson Lane等人所著. 本书是介绍自然语言处理(NLP)和深度学习的实战书.NLP已成为深度 ...

  2. python有道翻译接口-【Python】Python利用有道翻译开发API应用示例

    Python源码是关于Python利用有道翻译开发API应用示例.这是一个很有意思又简单的API应用练习题,方法中用到了有道词典开放API应用,合成的类似于命令行词典应用Python小程序.功能简单, ...

  3. python有道字典_【Python】Python利用有道翻译开发API应用示例

    Python源码是关于Python利用有道翻译开发API应用示例.这是一个很有意思又简单的API应用练习题,方法中用到了有道词典开放API应用,合成的类似于命令行词典应用Python小程序.功能简单, ...

  4. python利用PyQt5和QTDesginer开发GUI应用(二)、股票查询工具

    python应用GUI开发系列: python利用PyQt5和QTDesginer开发GUI应用(一).环境准备及demo -------------------------------------- ...

  5. python的Tkinter库简单应用——开发一个简易计算器

    利用python的Tkinter库开发一个简易计算器 文章目录 利用python的Tkinter库开发一个简易计算器 前言 一.实验准备 二.开发步骤步骤 1.引入库 2.界面设计 3.关键--实现T ...

  6. python 利用python处理excel文件

    python 利用python处理excel文件 1.相关包的安装 2.读取.创建excel文件,遍历内容 3.字体样式调整 4.填充样式调整 5.边框样式调整 6.对齐样式调整 7.excel内添加 ...

  7. python爬虫简单实例-Python 利用Python编写简单网络爬虫实例3

    利用Python编写简单网络爬虫实例3 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站"http://bbs.51tes ...

  8. [Python] 利用 Python 制作“飞花令”小工具

    转载请注明:陈熹 chenx6542@foxmail.com (简书号:半为花间酒) 若公众号内转载请联系公众号:早起Python 介绍:飞花令是古时候人bai们经常玩一种"行酒令" ...

  9. Python语言系统学习21:作品——简易计算器

    原文链接:https://blog.csdn.net/weixin_45596188/article/details/103588042 一.程序运行效果 在前面的学习中我们已掌握了对PyQt5和Qt ...

  10. 微信小程序开发之简易计算器

    微信小程序之简易计算器 一.介绍 1.中缀表达式 中缀表达式是一种通用的算术或逻辑公式表示方法,操作符以中缀形式处于操作数的中间.中缀表达式是人们常用的算术表示方法. 虽然人的大脑很容易理解与分析中缀 ...

最新文章

  1. 车联网系统会不会只是智能手机系统的翻版?
  2. 开源工具高效分析Java应用
  3. RxJava从入门到不离不弃(四)——过滤操作符
  4. mysql 田_Mysql知识总结
  5. Leetcode 963. 最小面积矩形 II 解题思路及C++实现
  6. CTFshow 命令执行 web52
  7. Android存储系统之架构篇
  8. 如何提高Debug效率
  9. dplayer js控制 自动全屏_vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】...
  10. [Leetcode][第1002题][JAVA][查找常用字符][计数][HashMap]
  11. Apache Qpid 认证绕过漏洞
  12. [转载] python面向对象编程实例
  13. STC学习:乒乓球游戏
  14. android q beta3更新功能,Android Q Beta 3更新内容:拥抱5G和可折叠设备
  15. 老式计算机如何设置u盘启动,技嘉主板老式bios设置u盘启动教程
  16. MC 2017数控车床编程基础到精通详细视频教程
  17. python中while循环只能用来实现无限循环的编程_while循环只能实现无限循环的编程...
  18. applet java_Java applet 类
  19. 地理信息系统(GIS)系列——ArcGIS 开发的各种示例
  20. 无意苦争春,一任群芳妒!M1 Mac book(Apple Silicon)能否支撑全栈工程师的日常?(Python3/虚拟机/Docker/Redis)

热门文章

  1. Extjs MVC讲解
  2. java控制反转_控制反转(IOC)模式
  3. apache端口一直在增加_PHP环境全套针细教程:Windows安装Apache, PHP and MYSQL
  4. Linux下安装jdk报Permission denied以及chmod详解
  5. Contest1874 - noip基础知识五:动态规划(背包、树dp、记忆化、递推、区间、序列dp、dp优化)...
  6. Java 实现发送Http请求
  7. SU Demos-03T-F Analysis-01Sugabor
  8. 奢侈的休闲度假时光——带着小样儿去三亚(三)
  9. c语言学习-猜数字游戏
  10. 2011-9-11 凌晨00:46