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

课程:《Python程序设计》
班级: 2434
姓名: 樊泽睿
学号:20243426
实验教师:王志强
实验日期:2024年3月26日
必修/选修: 公选课

1.实验内容
(1)设计一个Python程序,应是其具有加减乘除等基本运算能力。并且在实现基本功能的基础上,尽可能多地增添数学运算功能。
(3)熟练掌握函数的定义,基本语法、判定语句、循环语句、逻辑运算等知识点
(4)将本实验代码上传至gitee

实验过程及结果
(1)shiyan2.py
设计思路:
调用"math"库,使本段代码能够执行较复杂的(如对数运算)等运算功能
分别定义具有加减乘除等数学运算功能的函数
利用标志flag控制计算器的循环使用与结束退出
注意程序中的数学运算是否符合数学定义

代码如下:
import math

def Csum(num1, num2):
return num1 + num2

def Csub(num1, num2):
return num1 - num2

def Cmulti(num1, num2):
return num1 * num2

def Csus(num1, num2):
if num2 == 0:
print("除数不能为零")
return 0
return num1 / num2

def Clog(num1, num2):
if num1 <= 0 or num2 <= 1:
print("对数运算的底数须大于 1,真数须大于 0。")
return 0
return math.log(num1, num2)

flag = True
while flag:
num1 = float(input("请输入一个数字: "))
num2 = float(input("请输入另一个数字: "))
choice1 = input("请输入运算符(+ - * / log): ")
if choice1 == "+":
print(f"{num1} + {num2} = ", Csum(num1, num2))
elif choice1 == "-":
print(f"{num1} - {num2} = ", Csub(num1, num2))
elif choice1 == "*":
print(f"{num1} * {num2} = ", Cmulti(num1, num2))
elif choice1 == "/":
print(f"{num1} / {num2} = ", Csus(num1, num2))
elif choice1 == "log":
print(f"以 {num2} 为底 {num1} 的对数是: ", Clog(num1, num2))
conti = input("是否继续 Y/N\n")
if conti == "Y" or conti == "y":
flag = True
else:
flag = False

测试结果如下:

实验中遇到的问题:
(1)如何实现对数运算?
调用math库以解决。
(2)如何处理实验中出现的不符合数学定义的运算?
将不符合定义的情况(如“除数为0”)单独设立分支,分列此类情况

posted @ 2025-04-02 19:15  20243426樊泽睿  阅读(46)  评论(0)    收藏  举报