110
社区成员
发帖
与我相关
我的任务
分享课程:《Python程序设计》
班级: 2323
姓名: 黄津
学号:20232319
实验教师:王志强
实验日期:2024年3月27日
必修/选修: 公选课
设计一个多功能计算机程序
考核基本语法、判定语句、循环语句、逻辑运算等知识点
上传代码到gitee中
引入数学库,编写操作函数,涵盖实数与虚数范围的四则运算
import math
def sum(a,b):
return (a+b)
def sub(a,b):
return (a-b)
def mut(a,b):
return (a*b)
def div(a,b):
return (a/b)
def pycomplex(a,b):
complexoper = input("请输入复数运算")
if complexoper=="+":
print("a+b=",a+b)
return a+b
if complexoper=="-":
print("a-b=",a-b)
return a-b
if complexoper=="*":
print("a*b=",a*b)
return a*b
if complexoper=="/":
print("a/b=",a/b)
return a/b
主函数代码如下
既包含四则运算,也包括对数,三角函数等稍微复杂的计算。
flag = True
while flag:
a = eval(input("请输入a:"))
b = eval(input("请输入b:"))
operator = input("运算符输入:")
if operator=="+":
print("a+b=",sum(a,b))
if operator=="-":
print("a-b=",sub(a,b))
if operator=="*":
print("a*b=",mut(a,b))
if operator=="/":
if b==0:
print("error")
continue
print("a/b=",div(a,b))
if operator=="com":
pycomplex(a,b)
if operator=="log":
print("log a b=",math.log(b,a))
if operator=="sin":
print("sin(a)=",math.sin(a*3.1415926535/180),",","sin(b)=",math.sin(b*3.1415926535/180))
if operator=="cos":
print("cos(a)=",math.cos(a*3.1415926535/180),",","cos(b)=",math.cos(b*3.1415926535/180))
flag = False if input("是否要继续?Y or N\n")=="N" else True

已保存到gitee。详情请访问https://gitee.com/huangjin42953/test_python/blob/master/test_py24_3_27.py

1.习惯性的在 if 后添加括号,导致程序无法正确进行
解决:去除括号,改掉习惯
2.除0的情况出现错误
解决:if,else进行条件判断
1.eval函数的使用(查询ChatGPT):eval() 函数用于执行一个字符串表达式,并返回表达式的值。它将字符串当作有效的表达式来求值,并返回表达式的结果。
例如,如果你有一个字符串 '3 + 5',你可以使用 eval('3 + 5') 来计算这个表达式并返回结果 8。
需要注意的是,eval() 函数会执行任何有效的表达式,因此在使用时要确保传入的字符串是可信任的,避免不安全的代码注入。