尝试使用其他函数中的变量时出错

时间:2019-01-19 03:51:26

标签: python python-3.x undefined nameerror

我正在编写一个Python Triangle计算器。当我尝试使用一个函数中的变量来签入另一个函数时,就会出错。

  import random

  def isValidTriangle(a,b,c):
    k = sorted([a,b,c]) 
    if k[0] + k[1] <= k[2]:
      valid = 0       
      return ("Number that given can't create triangle")       
    else:
      valid = 1
      return("Numbers given is Triangle")

  def getPerimeter(a,b,c):
    if valid == 1:
      length = a + b + c
      return("Length is :"+str(length))
    else:
      return("X")

  def main():
    for x in range(1000):
      a = random.randint(1,99)
      b = random.randint(1,99)
      c = random.randint(1,99)
      print("random number : ", a,b,c)  
      print(isValidTriangle(a,b,c))
      print(getPerimeter(a,b,c))

  if __name__ == '__main__':
    main()

如您所见,我正在尝试检查函数(isValidTriangle(a,b,c))中给出的参数是否为三角形。如果它是一个Triangle It set(有效值= 1),并且在第二个函数中,我只想通过检查变量Valid来查找Triangle的周长,如果那是三角形

当我运行它时会显示

  

NameError:名称“ valid”未定义

我也尝试在主函数中将变量设置为有效,结果也是一样。

所以我尝试在程序顶部设置变量

import random
valid = 1

现在无论代码给出的参数为Triangle还是变量Valid始终为1,代码都可以运行。 谁能帮我谢谢你。

0 个答案:

没有答案