# 20244201邢家源 2024-2025-2 《Python程序设计》实验二报告

课程:《Python程序设计》
班级: 2442
姓名: 邢家源
学号:2024201
实验教师:王志强
实验日期:2024年4月6日
必修/选修:公选课4

1.实验内容

(1)设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
(2)考核基本语法、判定语句、循环语句、逻辑运算等知识点。

2. 实验过程及结果

仿照课堂教学的程序进行编程

(1)编写计算函数
包含加减乘除运算,取模运算,幂运算,整除运算,log运算

    if symbol == '+':
        return a + b
    elif symbol == '-':
        return a - b
    elif symbol == '*':
        return a * b
    elif symbol == '/':
        return a / b if b != 0 else "除数不能为0!"
    elif symbol == "//":
        return a // b
    elif symbol == '**':
        return a ** b
    elif symbol == '%':
        return a % b if b != 0 else "后者不能为0!"
    elif symbol == "logab":
        return math.log(a, b)
    else:
        return "你输入的是啥?!"

(2)编写主程序
包含实数运算与复数运算的区分,利用while()支持多次运算

while o:
    if input("要进行复数计算还是实数计算:") == "复数":
        num_first = complex(input("请输入第一个数"))
        num_second = complex(input("请输入第二个数"))
    else:
        num_first = int(input("请输入第一个数:"))
        num_second = int(input("请输入第二个数:"))
    symbol = input("请输入计算符号:+ - * / % // ** logab:")
    if symbol == "logab":
        print(f"log{num_first} {num_second}",cal(num_second,num_first))
    else:
        print(f"{num_first} {symbol} {num_second} =", cal(num_first, num_second))
    continu = input("是否需要继续计算? Y or N:")
    if  continu == "N" or conti == "n":
        break

(3)程序美化
输出个人信息以及版权信息

title = '''
             $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
             $                                    $
             $       Calculator Ver.1.0.0         $
             $          copyright:Leo             $
             $   ALL RIGHTS RESERVED  $
             $                       $
             $                                    $
             $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    '''
print(title)

完整程序

title = '''
             $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
             $                                    $
             $       Calculator Ver.1.0.0         $
             $          copyright:Leo             $
             $   ALL RIGHTS RESERVED  $
             $                       $
             $                                    $
             $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    '''
print(title)


def cal(a, b):
    if symbol == '+':
        return a + b
    elif symbol == '-':
        return a - b
    elif symbol == '*':
        return a * b
    elif symbol == '/':
        return a / b if b != 0 else "除数不能为0!"
    elif symbol == "//":
        return a // b
    elif symbol == '**':
        return a ** b
    elif symbol == '%':
        return a % b if b != 0 else "后者不能为0!"
    elif symbol == "logab":
        return math.log(a, b)
    else:
        return "你输入的是啥?!"


o = True
while o:
    if input("要进行复数计算还是实数计算:") == "复数":
        num_first = complex(input("请输入第一个数"))
        num_second = complex(input("请输入第二个数"))
    else:
        num_first = int(input("请输入第一个数:"))
        num_second = int(input("请输入第二个数:"))
    symbol = input("请输入计算符号:+ - * / % // ** logab:")
    if symbol == "logab":
        print(f"log{num_first} {num_second}",cal(num_second,num_first))
    else:
        print(f"{num_first} {symbol} {num_second} =", cal(num_first, num_second))
    continu = input("是否需要继续计算? Y or N:")
    if  continu == "N" or conti == "n":
        break

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

暂无

其他(感悟、思考等)

在仿写课堂程序的过程中,我进行了函数编写的实践,掌握了新的输出方式,同时也对之前学过的知识进行了巩固。我发现编写Python程序并非易事,必须认真理解课堂上所教授的函数内容,并且在课后做好复习。未来,我会以更加严谨的态度投入到Python课程的学习中,深入钻研Python知识,以便在后续的实验中能够更加游刃有余。

posted @ 2025-04-06 18:28  YuanLeO  阅读(26)  评论(0)    收藏  举报