def get_info_on_inputs(named_inputs, n_unnamed_inputs):
 n_named_inputs = len(named_inputs)
 def get_plural(n):
  if (n > 1):
   return 's'
  else:
   return ''
 if (n_named_inputs == 0):
  if (n_unnamed_inputs == 0):
   msg = 'The function is supposed to have no input.'
  elif (n_unnamed_inputs == 1):
   msg = "The function has a single input variable which has no name, and thus cannot be assigned through a keyword argument (use 'name=...' in a Variable's constructor to give it a name)."
  else:
   msg = ("The function has %s inputs, but none of them is named, and thus they cannot be assigned through keyword arguments (use 'name=...' in a Variable's constructor to give it a name)." % n_unnamed_inputs)
 elif (n_unnamed_inputs == 0):
  msg = ('The function has %s named input%s (%s).' % (n_named_inputs, get_plural(n_named_inputs), ', '.join(named_inputs)))
 else:
  msg = ("The function has %s named input%s (%s), and %s unnamed input%s which thus cannot be accessed through keyword argument%s (use 'name=...' in a variable's constructor to give it a name)." % (n_named_inputs, get_plural(n_named_inputs), ', '.join(named_inputs), n_unnamed_inputs, get_plural(n_unnamed_inputs), get_plural(n_unnamed_inputs)))
 return msg

def get_info_on_inputs ( named_inputs , n_unnamed_inputs ) : n_named_inputs = len ( named_inputs ) def get_plural ( n ) : if ( n > 1 ) : return 's' else : return '' if ( n_named_inputs == 0 ) : if ( n_unnamed_inputs == 0 ) : msg = 'The function is supposed to have no input.' elif ( n_unnamed_inputs == 1 ) : msg = "The function has a single input variable which has no name, and thus cannot be assigned through a keyword argument (use 'name=...' in a Variable's constructor to give it a name)." else : msg = ( "The function has %s inputs, but none of them is named, and thus they cannot be assigned through keyword arguments (use 'name=...' in a Variable's constructor to give it a name)." % n_unnamed_inputs ) elif ( n_unnamed_inputs == 0 ) : msg = ( 'The function has %s named input%s (%s).' % ( n_named_inputs , get_plural ( n_named_inputs ) , ', ' . join ( named_inputs ) ) ) else : msg = ( "The function has %s named input%s (%s), and %s unnamed input%s which thus cannot be accessed through keyword argument%s (use 'name=...' in a variable's constructor to give it a name)." % ( n_named_inputs , get_plural ( n_named_inputs ) , ', ' . join ( named_inputs ) , n_unnamed_inputs , get_plural ( n_unnamed_inputs ) , get_plural ( n_unnamed_inputs ) ) ) return msg
return a human-readable description of named and un-named inputs .