python程序执行报错,请大神帮忙看下

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python程序执行报错,请大神帮忙看下相关的知识,希望对你有一定的参考价值。

# -*- coding: cp936 -*-
#--conding: -utf-8--
#给出三角形的三条边长,判断该三角形的形状,并计算面积

_metaclass_=type

class sanJiaoXing:
mianji=0
p=0
def init(self):
a=int(raw_input("a="))
b=int(raw_input("b="))
c=int(raw_input("c="))
if a+b<c or a+c<b or b+c<a:
print "两边之和小于第三边,无法构成三角形"
elif a==b==c:
print "这个三角形是等边三角形"
elif a==b!=c or b==c!=a or a==c!=b:
print "这个三角形是等腰三角形"
elif a*a+b*b==c*c or a*a+c*c==b*b or b*b+c*c==a*a:
print"这个是直角三角形"
else:
print"这个是一般三角形"
def MianJi(self):
from math import sqrt
p=(a+b+c)/2
mianji=sqrt(p*(p-a)*(p-b)*(p-c))
print "三角形的面积为:%s" % mianji

test=sanJiaoXing()
test.init()
test.MianJi()
错误信息
Traceback (most recent call last):
File "C:\Users\Administrator\Desktop\python1\三角形判断.py", line 32, in <module>
test.MianJi()
File "C:\Users\Administrator\Desktop\python1\三角形判断.py", line 26, in MianJi
p=(a+b+c)/2
NameError: global name 'a' is not defined
>>>

支持xhkczxzz.

再来一个:

#!/usr/bin/env python
# coding: utf-8
#
# filename: triangle.py
# date: Feb., 2014
# author: Tim Wang

class Triangle(object):
    
    def __init__(self, a, b, c):
        self.lines = sorted([a, b, c])
        if self.lines[0] + self.lines[1] <= self.lines[2]:
            raise TypeError
    
    def category(self):
        if self.lines[0] == self.lines[1] == self.lines[2]:
            return u"等边三角形"
        category = u""
        if (self.lines[0] == self.lines[1] or 
                self.lines[1] == self.lines[2]):
            category += u"等腰"
        
        A = self.lines[0] ** 2 + self.lines[1] ** 2
        B = self.lines[2] ** 2
        if A == B:
            category += u"直角"
        elif A > B:
            category += u"锐角"
        else:
            category += u"钝角"
        return category + u"三角形"
    
    def perimeter(self):
        """周长"""
        return self.lines[0] + self.lines[1] + self.lines[2]

    def area(self):
        """面积(海伦公式)"""
        p = sum(self.lines)/2.
        return (p 
                * (p - self.lines[0]) 
                * (p - self.lines[1]) 
                * (p - self.lines[2])
                ) ** .5
    
    def R(self):
        """外接圆半径"""
        return (self.lines[0] 
                * self.lines[1] 
                * self.lines[2] ) / (4 * self.area())


tr = Triangle(3, 4, 5)
print tr.perimeter()
print tr.area()
print tr.R()
print tr.category().encode("utf-8")

参考技术A 把a\b\c改为:
self.a
self.b
self.c追问

多谢,多谢,
在这边的时候是不是应该添加break啊,
if a+b<c or a+c<b or b+c<a:
print "两边之和小于第三边,无法构成三角形"
我输入三边为1,2,1时,仍执行了下面的求面积的方法了。
可是我加了break会有问题,求大神再次帮忙看下。多谢多谢

追答看####class sanJiaoXing:
   mianji=p=0
   issanJiaoXing=False
   def __init__(self):  #######
       self.a=int(raw_input("a="))
       self.b=int(raw_input("b="))
       self.c=int(raw_input("c="))
       self.isSanjiaoxing(self.a,self.b,self.c)
   def isSanjiaoxing(self,a,b,c):  #######
       if self.a+self.b<=self.c or self.a+self.c<=self.b or self.b+self.c<=self.a:
           print "非三角形"
           self.issanJiaoXing=False ###
           return
       elif self.a==self.b==self.c:
           print "等边"
       elif self.a==self.b!=self.c or self.b==self.c!=self.a or self.a==self.c!=self.b:
           print "等腰"
       elif self.a*self.a+self.b*self.b==self.c*self.c or self.a*self.a+self.c*self.c==self.b*self.b or self.b*self.b+self.c*self.c==self.a*self.a:
           print"直角"
       else:
           print"一般"
       self.issanJiaoXing=True   ###
   def MianJi(self):
             ……
              p=(self.a+self.b+self.c)/2.0 ######
              ……
test=sanJiaoXing()
test.MianJi()

本回答被提问者采纳

有没有大神来帮忙看下问题出在哪里?

报错:‘Document‘ object has no attribute ‘add_paragragh‘

from docx import Document

class Test(object):
    def __init__(self):
        self.doc = Document()

    def test(self):
        self.doc.add_paragragh(test)

if __name__ == __main__:
    t = Test()
    t.test()

 

  

以上是关于python程序执行报错,请大神帮忙看下的主要内容,如果未能解决你的问题,请参考以下文章

执行原生态的SQL(删除语句)报错了,请大神帮忙看看?

JAVA程序的几个小问题,有空的大神帮我看下谢谢啦~也可以让我给你发程序帮忙调一下万分感谢3QQQQQQ

JAVA 一个序列号项目,请大神帮忙看下思路是不是正确?

Spring 报错,请各位大神帮忙看一下

有没有大神来帮忙看下问题出在哪里?

java shiro报错,请大神帮忙