程序设计方法学作业:任选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 tools


version = "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 math


def 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 ope


def 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)