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梁悦  阅读(56)  评论(0)    收藏  举报