- 论坛徽章:
- 0
|
本帖最后由 prints 于 2014-02-25 11:25 编辑
我们是做进出口木材检验的,因为有许多个国家的标准,我想写一个python程序,让用户输入哪个标准,然后输入长度和直径,就计算出材积。我是Python新手,对于类更是似懂非懂,我知道我写的比较矬,但还是希望各位路过的前辈们朋友们能给予指点,非常感激!代码在运行的时候,提示C=s.China_stand(L,D)有错,SyntaxError: invalid syntax,还有什么低级错误也请指出,非常感谢!- #!/usr/bin/python3
- class stand:
- def __init__(self,L,D):
- self.L=L
- self.D=D
-
- def China_stand(self):
- if self.L <=10 and self.D < 14:
- V=round(0.7854*self.L*(self.D+0.45*self.L+0.2)*(self.D+0.45*self.L+0.2)/10000,3)
- elif self.L <=10 and self.D >=14:
- V=round(0.7854*self.self.L*((self.self.D+0.5*self.self.L+0.005*self.self.L*self.self.L+0.000125*self.self.L*(14-self.L)*(14-self.L)*(self.D-10)))*((self.D+0.5*self.L+0.005*self.L*self.L+0.000125*self.L*(14-self.L)*(14-self.L)*(self.D-10)))/10000,3)
- else:
- V=round(0.8*self.L*(self.D+0.5*self.L)*(self.D+0.5*self.L)/10000,3)
- print('长度为{0}M,直径为{1}cm,此原木按中国检验标准为{2}立方米.'.format(self.L,self.D,V))
- def JAS(self):
- if self.L<6:
- V1=round(self.D*self.D*self.L/10000,3)
- else:
- V1=round((self.D+(int(self.L)-4)/2)*(self.D+(int(self.L)-4)/2)*self.L/10000,3)
- print('长度为{0}M,直径为{1}cm,此原木按JAS检验标准为{2}立方米.'.format(self.L,self.D,V1))
- if __name__=='__main__':
- s=stand()
- L=float(input('输入长度:'))#为L赋值
- D=int(input('输入直径:')#为D赋值
- C=s.China_stand(L,D)
- J=s.JAS(L,D)
- choice=input('请输入标准:A:中国;B:JAS')
- if choice == 'A':
- China
- else:
- JAS
复制代码 |
|