20241114 陈飞达 Python程序设计实验报告二

课程:《Python程序设计》

班级: 2411

姓名: 陈飞达

学号: 20241114

实验教师:王志强

实验日期:2025年3月26日

必修/选修: 公选课

一.实验内容

1.设计并完成一个完整的应用程序,可以完成加减乘除等运算,功能多多益善。

2.考察基本语法、判断语句、循环语句、逻辑运算等知识点。

二.实验过程及结果

1.整体思路

如果要完成一个计算器,那么需要有输入输出、内部的计算。内部的计算取决于输入的数和符号。输入的符号还需要经过选择的处理。

这样来看大体的结构就完成了,如果要优化程序,可以使其循环,那么在外侧套上循环和退出,如果要优化功能,那么可以加上复数和对数运算。

综合一下这个思路,按上面的顺序编写代码就相当容易了。

2.代码实现

'''
@名称:简易计算器
@作者:Fida1214
@日期:2025/3/26
'''

print("""
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
                    工作时间到——————快来算数吧!
                    !Fida牌计算器,你值得拥有!
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
                    @名称:工具——简易计算器
                    @作者:Fida1214
                    @日期:2025/3/26
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
    """)

import math

def Calculate_sum(num1, num2):
    return num1 + num2
def Calculate_sub(num1, num2):
    return num1 - num2
def Calculate_mul(num1, num2):
    return num1 * num2
def Calculate_div(num1, num2):
    if num2 == 0:
        print("除数不能为0!")
        return 0
    else:
        return num1 / num2
def logab(num1,num2):
    return math.log(num1,num2)

print("计算器即将启动,如果您需要计算整数,请按下‘~’,如果您需要计算复数,请按下‘ ! ’,如果您需要退出,请在一次运算结束后,按下‘ # ’")
while True:
    if input("请输入你的决策") == "~":
        num1 = int(input("请输入第一个数num1:"))
        num2 = int(input("请输入第一个数num2:"))
        Cmark = input("请输入运算符(+  -  *  / log):")
        if Cmark == '+':
            print("num1",Cmark,"num2 =",Calculate_sum(num1, num2))
        elif Cmark == '-':
            print("num1",Cmark,"num2 =",Calculate_sub(num1, num2))
        elif Cmark == '*':
            print("num1",Cmark,"num2 =",Calculate_mul(num1, num2))
        elif Cmark == '/':
            print("num1",Cmark,"num2 =",Calculate_div(num1, num2))
        elif Cmark == 'log':
            print("以",num2,"为底,以",num1,"的对数为为=",logab(num1,num2))
        elif Cmark == '#':
            break
    elif input("请输入你的决策") == "!":
        num1 = complex(input("请输入第一个数num1:"))
        num2 = complex(input("请输入第一个数num2:"))
        Cmark = input("请输入运算符(+  -  *  /):")
        if Cmark == '+':
            print("num1",Cmark,"num2 =",Calculate_sum(num1, num2))
        elif Cmark == '-':
            print("num1",Cmark,"num2 =",Calculate_sub(num1, num2))
        elif Cmark == '*':
            print("num1",Cmark,"num2 =",Calculate_mul(num1, num2))
        elif Cmark == '/':
            print("num1",Cmark,"num2 =",Calculate_div(num1, num2))
        elif Cmark == '#':
            break

3.运行结果

![](C:\Users\11200\Pictures\Screenshots\屏幕截图 2025-04-02 073427.png

运行结果如图所示。

三.实验过程中遇到的问题和解决过程

问题1:在尝试使用复数时,发现输入后报错。

问题1解决:询问了AI,发现在程序中输入“j”代替“i”。

问题2:输入“!”无法进行复数运算。

问题2解决:当多次尝试后,发现“!”是中文,改为英文“!”即可。

其他(感悟、思考等)

使用python时,对于选择之类的结构非常好用,当做出改动时不会担心哪里又不符合规范了,这一点是因为它的简单的语法。

另外,它的这个报错确实好用,可以较为简单地明白什么地方错了,应该怎么改。

希望之后能够做一些更有趣的程序,尽量完成目标吧。

gitee仓库链接:

posted @ 2025-04-02 12:29  陈飞达  阅读(19)  评论(0)    收藏  举报