20244319 实验二《Python程序设计》实验报告

20244319 2024-2025-2 《Python程序设计》实验二报告

课程:《Python程序设计》
班级: 2443
姓名: 梁悦
学号:20244319
实验教师:王志强
实验日期:2025年3月26日
必修/选修: 公选课

一、实验内容

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

2.考核基本语法、判定语句、循环语句、逻辑运算等知识点;

3.使用Python语言实现具体的操作运算,并完成程序调试和运行,代码托管到码云。

二、实验过程及结果

(一)设计并完成一个完整的计算机应用程序,完成加、减、乘、除等运算

完整代码如下:

import math
from stringprep import b1_set

def jia(num1,num2):
  return num1+num2
def jian(num1,num2):
  return num1-num2
def cheng(num1,num2):
  return num1*num2
def chu(num1,num2):
  if num2==0:
    print("除数不能为0哦,亲爱的")
    return 0
  return num1/num2
def logab(a,b):
  return math.log(a,b)

Queen=int(input("你要进行什么运算?(1)实数(2)复数\n"))

if Queen ==1:
  flag = True
  while flag:
    num1=int(input("请输入一个实数:"))
    num2=int(input("请输入另一个实数:"))
    choice = input("请输入运算符(+、-、*、/、log):")

    if choice=="+":
      print("num1",choice,"num2=",jia(num1,num2))
    elif choice=="-":
      print("num1",choice,"num2=",jian(num1,num2))
    elif choice=="*":
      print("num1",choice,"num2=",cheng(num1,num2))
    elif choice=="/":
      print("num1",choice,"num2=",chu(num1,num2))
    elif choice=="log":
      print("log以",num2,"为底",num1,"的对数=",logab(num1,num2))
    else:
      print("亲爱的,你好像输入错运算符咯~")

    key = input("是否继续? Y/N:")
    if key=="Y":
      flag = True
    else:
      flag = False

elif Queen ==2:
  flag = True
  while flag:
    num1 = complex(input("请输入一个复数:"))
    num2 = complex(input("请输入另一个复数:"))
    choice = input("请输入运算符(+、-、*、/):")

    if choice == "+":
        print("num1", choice, "num2=", jia(num1, num2))
    elif choice == "-":
        print("num1", choice, "num2=", jian(num1, num2))
    elif choice == "*":
        print("num1", choice, "num2=", cheng(num1, num2))
    elif choice == "/":
        print("num1", choice, "num2=", chu(num1, num2))

    else:
        print("亲爱的,你好像输入错运算符咯~")

    key = input("是否继续? Y/N:")
    if key == "Y":
        flag = True
    else:
        flag = False

(二)考核基本语法、判定语句、循环语句、逻辑运算等知识点

1.判定语句(如if key=="Y"语句)

2.循环语句(if-elif-else语句)

3.逻辑运算(and、or、not语句)

(三)使用Python语言实现具体的操作运算,并完成程序调试和运行,代码托管到码云

1.基础运算函数准备:

2.设计实数部分计算器:

运行结果截图:

3.设计复数部分计算器:

运行结果截图:

4.增加实数对数运算功能

运行结果截图:

5.代码托管到码云

托管成功截图:

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

  • 问题1:不清楚Python中怎么调用数学库

  • 问题1解决方案:百度搜索+积累语法

  • 问题2:重复性代码过多

  • 问题2解决方案:增加分类合并部分代码

如可改为:

    flag = True
    while flag:
        if input("请问:需要复数(1)还是整数(2)运算?\n")=="1":
            num1 = complex(input("请输入一个数:"))
            num2 = complex(input("请输入另一个数:"))
        else:
            num1 = int(input("请输入一个数:"))
            num2 = int(input("请输入另一个数:"))
        choice = input("请输入运算符(+-*/ log):")
        if choice == "+":
            print("num1 ",choice, " num2 = ", Csum(num1, num2))
        elif choice =="-":
            print("num1 ",choice, " num2 = ", Csub(num1, num2))
        elif choice == "*":
            print("num1 ",choice, " num2 = ", Cmulti(num1, num2))
        elif choice == "/":
            print("num1 ",choice, " num2 = ", CDiv(num1, num2)))
        elif choice == "log":
            print("log以",num2,"为底",num1, "的对数 = ", logab(num1, num2))

        conti = input("是否继续?Y/N\n")
        if conti == "Y" or conti == "y":
            flag = True
        else:
            flag = False

其他(感悟、思考等)

我因为dbug没能跟上老师进度,所以计算器程序代码的后半段是自己编写的,但是最后的代码以及运行结果和老师的差不多,开心开心(有点小小的成就感嘻嘻)

参考资料

  • 《零基础学Python》(2018 明日科技编著)
posted @ 2025-03-27 22:19  20244319梁悦  阅读(39)  评论(0)    收藏  举报