20241402 2024-2025-2 《Python程序设计》实验二报告
课程:《Python程序设计》
班级: 2414
姓名: 刘传志
学号:20241402
实验教师:王志强
实验日期:2025年3月26日
必修/选修: 公选课
1.实验内容
-
设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
-
考核基本语法、判定语句、循环语句、逻辑运算等知识点
- 实验过程及结果
运用函数设计计算器的python代码如下
点击查看代码
# coding: utf-8
# Project:PyCharmMiscProject
# File:计算器.py
# Author:liuchuanzhi
# Date :2025/3/26 19:25
# IDE:PyCharm
import mathdef Csum(num1,num2):return num1+num2
def Csub(num1,num2):return num1-num2
def Cmulti(num1,num2):return num1*num2
def Cdiv(num1,num2):if num2==0:print("除数不能为零")return 0return num1/num2
def Clogab(a,b):return math.log(a,b)
def Cre(num1,num2):return num1%num2
def Cpow(num1,num2):return math.pow(num1,num2)flag=True
while flag:if input("请问需要复数(1)还是整数(2)运算:")=="1":num1=complex(input("请输入一个复数:"))num2=complex(input("请输入另一个复数:"))else:num1=int(input("请输入一个数字: "))num2=int(input("请输入另一个数字: "))choice=input("请输入运算符(+,-,*,/,log,%,pow):")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(num1,"以",num2,"为基底的对数=", Clogab(num1, num2))elif choice=="%":print(num1,"对",num2,"取余是",Cre(num1,num2))elif choice=="pow":print(num1,"的",num2,"次幂是",Cpow(num1,num2))con= input("是否继续?Y/N\n")if con =="Y" or con=="y":flag = Trueelse:flag = False
https://gitee.com/liuchuanzhi123/PyCharmMiscProject
- 实验过程中遇到的问题和解决过程
- 问题1:log函数结果错误。
- 问题1解决方案:查询log函数使用方法,发现默认以e为基底,修改基底数后正确。
- 问题2:运算复数时发现报错
- 问题2解决方案:int型变量无法定义复数,换成complex复数类即可重载运算符用于计算复数
- ...
其他(感悟、思考等)
Python数学函数库内容丰富,实际上该计算器还可加入更多功能。
Python编写相较于C语言来说更为简洁,编写函数接入主函数更简单。