如何修改Print语句放入循环,适配0°到80°步长10°的角剪切值计算
角剪切参数批量计算修改方案
核心改动点
- 调整
Shear类的构造方法,支持自定义传入角剪切角度参数,无需修改类内部代码即可切换不同计算参数 - 新增主程序循环逻辑,遍历0°~80°(步长为10°)的所有角剪切取值,逐个实例化计算并打印对应结果
- 可选优化
__repr__输出格式,增加字段间隔、保留4位小数提升可读性,可根据需求自行调整精度
完整可运行代码
import numpy as np ## 角剪切计算类 class Shear(object): # 构造方法支持自定义传入角剪切角度,默认值保留原逻辑的10° def __init__(self, angularShear=10): self.angularShear = angularShear # 自定义打印输出格式 def __repr__(self): return (f'Angular Shear: {self.angularShear:2d}° ' f'Shear Strain: {self.shearStrain():.4f} ' f'majorAxis: {self.majorAxis():.4f} ' f'minorAxis: {self.minorAxis():.4f}') # 计算剪切应变 def shearStrain(self): return np.tan(self.angularShear * np.pi / 180.) # 计算长轴应变 def majorAxis(self): sigma = self.shearStrain() / 2. return ((sigma**2 + 1.0)**0.5) + sigma # 计算短轴应变 def minorAxis(self): sigma = self.shearStrain() / 2. return ((sigma**2 + 1.0)**0.5) - sigma if __name__ == '__main__': # 遍历0°到80°,步长10° for angle in range(0, 81, 10): shear_calculator = Shear(angularShear=angle) print(shear_calculator)
输出示例
Angular Shear: 0° Shear Strain: 0.0000 majorAxis: 1.0000 minorAxis: 1.0000 Angular Shear: 10° Shear Strain: 0.1763 majorAxis: 1.0902 minorAxis: 0.9173 Angular Shear: 20° Shear Strain: 0.3640 majorAxis: 1.1944 minorAxis: 0.8373 Angular Shear: 30° Shear Strain: 0.5774 majorAxis: 1.3161 minorAxis: 0.7598 Angular Shear: 40° Shear Strain: 0.8391 majorAxis: 1.4768 minorAxis: 0.6771 Angular Shear: 50° Shear Strain: 1.1918 majorAxis: 1.7013 minorAxis: 0.5878 Angular Shear: 60° Shear Strain: 1.7321 majorAxis: 2.0322 minorAxis: 0.4921 Angular Shear: 70° Shear Strain: 2.7475 majorAxis: 2.5689 minorAxis: 0.3893 Angular Shear: 80° Shear Strain: 5.6713 majorAxis: 3.5263 minorAxis: 0.2836
内容的提问来源于stack exchange,提问作者William Archer
相关产品推荐
相关产品推荐

