import numpy as np
import matplotlib.pyplot as plt
# 从键盘读取三角函数名和参数
name = input("请输入三角函数名(sin, cos, tan):")
x_start = float(input("请输入开始x值:"))
x_end = float(input("请输入结束x值:"))
step = int(input("请输入步长:"))
A = float(input("请输入A:"))
B = float(input("请输入B:"))
C = float(input("请输入C:"))
# 生成x轴数据
x = np.arange(x_start, x_end, 0.01)
if name == 'sin':
# 计算y轴数据
y = A * np.sin(B * x + C)
# 绘制图像
plt.plot(x, y)
# 设置图像标题
plt.title('y = {} * sin({} * x + {})'.format(A, B, C))
# 显示网格
plt.grid(True)
# 显示图像
plt.show()
elif name == 'cos':
# 计算y轴数据
y = A * np.cos(B * x + C)
# 绘制图像
plt.plot(x, y)
# 设置图像标题
plt.title('y = {} * cos({} * x + {})'.format(A, B, C))
# 显示网格
plt.grid(True)
# 显示图像
plt.show()
elif name == 'tan':
# 计算y轴数据,需要判断x值是否在-t_pi/2到t_pi/2之间
mask = (x >= -np.pi/2) & (x <= np.pi/2)
y = np.empty_like(x)
y[mask] = A * np.tan(B * x[mask] + C)
y[~mask] = np.nan
# 绘制图像
plt.plot(x, y)
# 设置图像标题
plt.title('y = {} * tan({} * x + {})'.format(A, B, C))
# 显示网格
plt.grid(True)
# 显示图像
plt.show()
else:
print("输入的三角函数名有误,请输入sin/cos/tan。")
首先,我很高兴你正在学习软件开发。对于你目前的问题,我建议你遵循以下步骤:
确定你想学习的方向和目标。你是想成为测试开发工程师还是测试工程师?你想专注于哪个领域?例如,移动应用测试、Web 应用程序测试、性能测试等等。设定目标可以让你的学习更有方向性。
学习测试知识体系框架。在指导学习方向的同时,了解测试的各种知识点将有助于你快速入门,并可从更高的角度看待测试。
基于你的学习目标和领域,选择一个测试框架来学习。例如,Selenium、Appium、JUnit、PHPUnit 等等。框架的选择也有助于你更集中地学习。
阅读框架文档和教程。框架作者和社区通常会提供详细的文档和教程,帮助你更好地了解如何使用框架,以及如何进行测试。
练习。将测试知识体系和框架应用到实践中,并通过实践找到自己的问题和解决方案。这些练习包括编写测试用例、执行测试、查找和修复错误等等。
寻找社群。加入讨论组和社区,并向其他测试开发工程师请教和分享你的问题和经验。这样可以促进你的学习和发展。
举一个例子,如果你想学习移动应用程序测试,可以按照以下步骤:
确定学习目标是成为测试开发工程师还是测试工程师,并深入了解移动应用程序测试的基础知识和流程。这可以通过阅读在线教程、参与培训班或使用在线课程来实现。
了解测试知识体系框架,例如ISTQB或PTMP,并将其应用于移动应用程序测试中。这可以帮助你更系统地了解测试领域的所有方面,并使你的学习更有针对性。
选择一个移动应用程序测试框架,例如Appium,学习其基本操作和API。你还可以使用Appium的Chrome扩展插件,可以更容易地开发和调试测试代码。
阅读Appium的文档和实例,并了解如何使用其驱动程序来测试移动应用程序。Appium具有广泛而详细的文档,包括入门指南、API参考和常见问题解答,这些都将帮助你快速上手。
练习编写测试用例并运行测试。你可以使用你所学的知识和工具来编写并运行基于Appium的测试脚本,例如使用Java ,Python等编写测试脚本来实现测试用例的编写和执行。
寻找社群。加入Appium的讨论组和社区,与其他测试开发工程师交流并学习他们的经验。
以上是提供给你的具体学习步骤,希望能对你有所帮助。