110
社区成员
发帖
与我相关
我的任务
分享20231417曾煜《Python程序设计》实验二报告
课程:《Python程序设计》
学号:20231417
姓名:曾煜
班级:2314
实验日期:2024.3.27
必修/选修: 公选课
1.实验内容
此处填写实验的具体内容;
设计并完成一个完整的应用程序,完成加减乘除模等运算,功能多多益善。
考核基本语法、判定语句、循环语句、逻辑运算等知识点
2. 实验过程及结果
#功能:进行加减乘除取余 阶乘 log 幂 指数 三角函数
import math
def sum(a,b):
return (a+b)
def sub(a,b):
return (a-b)
def mul(a,b):
return (a*b)
def division(a,b):
if b == 0:
return -1
else:
return (a/b)
def Mod(a,b):
return (a % b)
def log(a,b):
if a<=0:
return -1
elif b<=0:
return -1
else:
return math.log(b,a)
def power(a,b):
return (a**b)
def tri(tri,a):
if tri == "sin":
return (math.sin(a))
elif tri == "cos":
return (math.cos(a))
else:
return (math.tan(a))
def Fact(a):
result = 1
for item in range(1,a+1):
result = result*item
return result
flag = 1
while flag == 1:
op = input("Please input your operator:(+、-、*、/、%、log、**、!、sin、cos、tan)\n")
if (op == "sin")|(op == "cos")|(op == "tan"):
a = int(input("输入a值:"))
elif op == '!':
a = int(input("输入a值:"))
else:
a = int(input("输入a值:"))
b = int(input("输入b值:"))
if op == '+':
print("a+b=",sum(a,b))
elif op == '-':
print("a-b=",sub(a,b))
elif op == '*':
print("a*b=", mul(a, b))
elif op == '/':
result = division(a,b)
if result == -1:
print(Wrong)
else:
print("a/b=",result)
elif op == 'log':
result = log(a, b)
if result == -1:
print(Wrong)
else:
print("log a b=", result)
elif op == 'mod':
print("a%b=", Mod(a, b))
elif op == '**':
print("a^b",power(a,b))
elif (op == "sin")|(op == "cos")|(op == "tan"):
print(op,"(",a,")","=",tri(op,a))
elif op == '!':
print(a,"!","=",Fact(a))
flag = int(input("请问是否还想要进行计算?(是,1)(否,0)"))
截图如下:

3.

在此处判断时,我最初没有加上括号,而是直接把表达式罗列在那里,导致出现报错:
TypeError: unsupported operand type(s) for |: 'str' and 'str'
问题1解决方案:我翻译了一下报错,大概意思是运算符 "|" 不支持在两个字符串之间,所以我先将布尔表达式用括号括起来,从而“|”运算符接收的就是布尔表达式的值了;
问题2:之前使用git上传文件时总是直接git add .把目录中的全部文件上传,这次通过学习发现也可以这样