20203412马畅若 实验二《Python程序设计》实验报告
20203412马畅若 实验二《Python程序设计》实验报告
课程:《Python程序设计》
班级: 2034
姓名:马畅若
学号:20203412
实验教师:王志强
实验日期:2021年4月26日
必修/选修: 公选课
一)实验内容
设计并完成一个完整的应用程序,完成加减乘除模等运算。
- 考核基本语法、判定语句、循环语句、逻辑运算等知识点。
首先加入数学函数 math
再定义函数进行不同的数学运算
最后将四个函数进行输入选择,并进行结束每一个运算后的循环选择
代码
import math
def op1_sim():
print("您的选择是:1.简单运算")
print("可进行的运算有:+,-,*,/,//,%,**")
op=input("请输入你想要进行的运算:")
a=int(input("请输入第一个数:"))
b=int(input("请输入第二个数:"))
if op == '+':
ans =a + b
print("a和b的和是:",a, op, b, "=", ans)
elif op == "-":
ans= a - b
print("a和b的差是:",a, op, b, "=", ans)
elif op == '*':
ans = a * b
print("a和b的乘积是:",a, op, b, "=", ans)
elif op == "/":
ans = a / b
print("a和b的商是:",a, op, b, "=", ans)
elif op == "%":
ans = a % b
print("a除以b的余数是:",a, op, b, "=", ans)
elif op == '//':
ans = a // b
print("a除以b的最大整数是:",a, op, b, "=", ans)
elif op == '**':
ans = a ** b
print("a的b此幂是:",a, op, b, "=", ans)
else:
print("input wrong!")
def op2_tri():
print("您的选择是:2.三角函数运算")
print("可进行的运算有:sin,asin,cos,acos,tan,atan")
op = input("请输入你想要进行的运算:")
a = int(input("请输入一个数字:"))
a=(a/180)* math.pi
if op == 'sin':
ans= math.sin(a)
print(op, "(", a, ")", "=", ans)
elif op == 'cos':
ans= math.cos(a)
print(op, "(", a, ")", "=", ans)
elif op == 'tan':
ans= math.tan(a)
print(op, "(", a, ")", "=", ans)
elif op == 'acos':
ans= math.acos(a)
print(op, "(", a, ")", "=", ans)
elif op == 'asin':
ans= math.asin(a)
print(op, "(", a, ")", "=", ans)
elif op == 'atan':
ans= math.atan(a)
print(op, "(", a, ")", "=", ans)
else:
print("input wrong!")
def op3_fac():
print("您的选择是:3.阶乘运算")
a = int(input("请输入一个数字:"))
ans=1
for i in range(1,a+1):
ans=i*ans
print(a,"的阶乘是",ans)
def op4_equ():
print("您的选择是:4.计算二元一次方程的解")
a = float(input("请输入a:"))
b = float(input("请输入b:"))
c = float(input("请输入c:"))
d = b*b - 4*a*c
if d>=0:
x1 = (-b+math.sqrt(d)) / (2*a)
x2 = (-b-math.sqrt(d)) / (2*a)
if d==0:
print("X1 = X2 = "+str(x1))
else:
print("X1 = "+str(x1)+'\t'+"X2 = "+str(x2))
else:
x1 = str(-b/(2*a)) + '+' + str(math.sqrt(-d)/(2*a)) + 'i'
x2 = str(-b/(2*a)) + '-' + str(math.sqrt(-d)/(2*a)) + 'i'
return "X1 = "+x1+'\t'+"X2 = "+x2
print("X1 = "+x1+'\t'+"X2 = "+x2)
flag=1
while flag == 1:
print("请输入你想选择的功能")
print("1.简单运算")
print("2.三角函数运算")
print("3.阶乘运算")
print("4.计算二元一次方程的解")
n=int(input())
if n ==1:
op1_sim()
elif n ==2:
op2_tri()
elif n == 3:
op3_fac()
elif n == 4:
op4_equ()
else:
print("input wrong!")
flag=int(input("您是否想继续?继续输入1,不继续输入0:\n"))
上传至码云
码云代码连接:马畅若/py (gitee.com)
二)实验结果
三) 实验过程中遇到的问题和解决过程
- 问题1:python种许多语言结构和C语言并不相同,再写代码的时候经常混淆
- 问题1解决方案:多练习自己容易出错的语言结构,如在本次实验中打印结果的方式与函数结合,for循环中i的范围表示
- 问题2:不会用代码表示稍微复杂的数学运算
- 问题2解决方案:通过查阅课本和百度,引入math函数进行三角运算(而且要记得在代码中把输入的角度换算为弧度制),阶乘的for循环计算
- 问题3:代码重复部分过多导致浪费
- 问题3解决办法:通过定义函数来解决同一内容的多次重复,比如
def operation(a, b, operator):
if operator == "+":
return a + b
elif operator == "-":
return a - b
elif operator == "*":
return a * b
elif operator == "/":
return a / b
但是在写代码的时候,与C语言不同的是,python更要注意下一行的代码与前面的空格间距,以定义函数而言,如果每行代码的位置没有按照逻辑,将会导致代码无法运行
四)感悟思考
python与C语言有很多的不同之处,需要对比比较,在写代码时仔细分析,再经常练习,才能孰能生巧。
五)参考资料
20203412马畅若 实验二《Python程序设计》实验报告的更多相关文章
- 20175212童皓桢 Java实验二-面向对象程序设计实验报告
20175212童皓桢 Java实验二-面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设 ...
- 20175316 盛茂淞 2018-2019-2 《Java程序设计》实验二 面向对象程序设计 实验报告
20175316 盛茂淞 2018-2019-2 <Java程序设计>实验二 面向对象程序设计 实验报告 (一)单元测试 在 IDEA中我们把产品代码放在src目录中,把测试代码放在tes ...
- 20155220java实验二 面向对象程序设计 实验报告
一.实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步骤 (一)单元测试 (1) 三种代码 伪代码 产 ...
- Python程序设计实验报告二:顺序结构程序设计(验证性实验)
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 崔攀 学号3190505136 成绩 日期 2020.3.22 指导老师 修宇 [实验 ...
- PYTHON程序设计实验
Python程序设计实验报告一: 熟悉IDLE和在线编程平台 安徽工程大学 Python程序设计实验报告 班级 物流191 姓名 邹缕学号 3190505117成绩 ▁▁▁ 日期 2020.3.5 指 ...
- Python程序设计实验报告一:熟悉IDLE和在线编程平台
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 崔攀 学号3190505136 成绩_____ 日期 2020.3.8 指导老师 ...
- Python程序设计 实验 1 熟悉 IDLE 和在线编程平台
------------恢复内容开始------------ 安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 姚彩琴 学号3190505129 成绩 日期 2 ...
- Python程序设计实验报告四:循环结构程序设计(设计型实验)
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 姚彩琴 学号3190505129 成绩 日期 2020.4.8 指导老师 修宇 [实验名称 ...
- Python程序设计实验报告三:分支结构程序设计
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 姚彩琴 学号3190505129 成绩 日期 2020.4.5 指导老师 修宇 [实验目的 ...
- 2018-2019-2 20175306实验二面向对象程序设计《Java开发环境的熟悉》实验报告
2018-2019-2 20175306实验二面向对象程序设计<Java开发环境的熟悉>实验报告 面向对象程序设计-1 实验要求: 参考:> http://www.cnblogs.c ...
随机推荐
- Symbol.iterator 迷惑行为
- Rust 的PIN的作用图
- Seal 0.4 发布:软件供应链安全洞察更上一层楼!
今天,我们很高兴宣布 Seal 0.4 已正式发布!在上一个版本中,Seal 完成了从单一产品到全链路平台的转变,通过全局视图帮助用户掌握软件开发生命周期各个环节的安全状况. 在 Seal 0.4 中 ...
- P7_小程序的宿主环境
宿主环境简介 什么是宿主环境 宿主环境(host environment)指的是程序运行所必须的依赖环境.例如:Android 系统和 iOS 系统是两个不同的宿主环境.安卓版的微信 App 是不能在 ...
- AIFF和AIFF-C音频交换文件格式的简单介绍
正文 AIFF,全称 Audio Interchange File Format,可简写为 Audio IFF 或 AIFF,是苹果公司推出的一种音频文件格式. AIFF-C,是 AIFF 的扩充,C ...
- Makefile常用命令
# 下面用来定义变量并赋值 # := 和 = 一样的吗? # 这里?=代表如果变量已经赋值了,不要重新赋值,而是保留原来的值 CROSS_COMPILE ?= arm-linux-gnueabihf- ...
- 三元运算符整体执行情况:Object obj = true? Integer.valueOf(1): Double.valueOf(2.0);
/* * @author YAM */public class Test01 { public static void main(String[] args) { Object obj = true? ...
- LOJ 数列分块入门 8
\(\text{Solution}\) 一看有区间赋值直接上 \(ODT\) \(\text{Code}\) #include <cstdio> #include <iostream ...
- [EULAR文摘] 滑膜HIF-1a与类风湿关节炎的关节破坏
滑膜HIF-1a与类风湿关节炎的关节破坏 Wei XN, et al. EULAR 2015. Present ID: OP0070. 背景:低氧诱导因子(HIF)-1α是缺氧条件下细胞反应的一个关键 ...
- 一次线上OOM问题分析
现象 线上某个服务有接口非常慢,通过监控链路查看发现,中间的 GAP 时间非常大,实际接口并没有消耗很多时间,并且在那段时间里有很多这样的请求. 原因分析 先从监控链路分析了一波,发现请求是已经打到服 ...