实战Python:利用python在pycharm开发终端简易计算器
发布日期:2021-06-30 15:42:00
浏览次数:4
分类:技术文章
本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月28日 06时47分20秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
闭关三月!猛男逆道而行,四杀斩获阿里 / 腾讯 / 京东 / 百度等大厂 offer
2019-05-01
【linux用户模块】用户/用户组的管理
2019-05-01
计算机网络 —— 网络层 1.
2019-05-01
Dubbo+zookeeper 最简单的分布式搭建
2019-05-01
http协议缓存详解
2019-05-01
Echarts使用及动态加载图表数据 折线图X轴数据动态加载
2019-05-01
高并发量网站解决方案
2019-05-01
接口api开发中安全性问题
2019-05-01
spring boot 知识点整理
2021-07-04
URL重定向,referer,referrer和安全
2019-05-01
Android生命周期
2019-05-01
Android进度条自定义——类似ProgressDialog效果的Dialog
2019-05-01
Android 之 ContentProvider 与 ContentResolver
2019-05-01
【接口自动化】
2019-05-01
SpringBoot搭建一个Web工程
2019-05-01
Spring Boot 安全框架 Shiro 入门
2019-05-01
如何用一句话激怒互联网人?
2019-05-01
用 Python 爬了点你们喜欢的电影
2019-05-01
推荐一位川大零基础转行 Python 的人生勇士
2019-05-01
讲真,做Python一定不要只会一个方向!
2019-05-01