【问题标题】:Unresolver reference in function if函数中未解析的引用 if
【发布时间】:2017-09-16 21:30:44
【问题描述】:

我有简单的代码。我有问题:“Unresolver reference 'a' more...”。 此问题出现在第三个 if 函数中。

而且我必须在 abcd 函数之外声明它,否则每次在 while 函数中,a 都会被设置为我声明的值,而不是根据 if。怎么办?

def abcd(s, e):
if s<0.72:
    if e>30:
    a=0
    return a

else:
    a=0
    return a
else:
    if a == 1:
       a = 1
       return a
    else:
       a=1
       return a
while True:
abcd

【问题讨论】:

标签: python function if-statement global-variables declaration


【解决方案1】:

可以在 abcd 的开头设置 a = 0,如下所示:

def abcd(s, e):
   a = 0
   if s<0.72:
       if e>30:
          a=0
          return a
       else:
          a=0
          return a
   else:
       if a == 1:
          a = 1
          return a
       else:
          a=1
          return a
while True:
   s = int(input("type value for s "))
   e = int(input("type value for e "))
   print( abcd(s, e )  )

不过你可以简化它:

def abcd(s, e):
   if s<0.72:
       return 0
   return 1

while True:
   s = int(input("type value for s"))
   e = int(input("type value for e"))
   print( abcd(s, e )  )

【讨论】:

  • 不,我没有。无论 e(e >30 与否),a 都设置为 0 并返回。看第一个代码块
猜你喜欢
  • 2018-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-04
  • 2017-09-18
  • 2021-06-17
  • 1970-01-01
相关资源
最近更新 更多