实战Python:利用python在pycharm开发终端简易计算器
发布日期:2021-06-30 15:42:00
浏览次数:3
分类:技术文章
本文共 3159 字,大约阅读时间需要 10 分钟。
程序设计方法学作业:任选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("欢迎再次使用计算器!") break else: 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))
完整项目下载: (calculator.zip)
转载地址:https://kaisarh.blog.csdn.net/article/details/102712621 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月20日 20时11分29秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
冷眼看小程序
2019-05-01
为什么执行 x in range(y) 如此快?
2019-05-01
看完这篇文章你还不理解 Python 装饰器,只有一种可能...
2019-05-01
Python干货:表达式 i += x 与 i = i + x 等价吗?
2019-05-01
有了这些 Chrome 插件,效率提升10倍(建议收藏)
2019-05-01
Python 编码错误的本质原因
2019-05-01
Python 开发者都会遇到的错误:UnboundLocalError
2019-05-01
用 Python 送“爱心”
2019-05-01
理解HTTPS为什么安全前,先看看这些东西
2019-05-01
代码这样写不止于优雅(Python版)
2019-05-01
一份来自掘金社区的开发者报告
2019-05-01
@classmethod与@staticmethod的区别
2019-05-01
只有1%的程序员搞懂过浮点数陷阱
2019-05-01
Erlang 之父 Joe Armstrong 去世
2019-05-01
来不及了,世界读书日,送10本书
2019-05-01
速来,上期中奖名单
2019-05-01
一名 Google 工程师的大数据处理经验
2019-05-01
30分钟学会pyecharts数据可视化
2019-05-01
从一个骗子身上学到的
2019-05-01
关于Python爬虫,这里有一条高效的学习路径
2019-05-01