import arcpy
from arcpy import env
env.workspace = r"C:\temp\python\test.gdb"
lstFCs = arcpy.ListFeatureClasses("*")
for fc in lstFCs:
    rows = arcpy.UpdateCursor(fc)
    try:
        for row in rows:
            if row.Value >= 0.0 and row.Value <= 0.2:
                row.Class = 1
            if row.Value > 0.2 and row.Value <= 0.4:
                row.Class = 2
            if row.Value > 0.4 and row.Value <= 0.6:
                row.Class = 3
            if row.Value > 0.6 and row.Value <= 0.8:
                row.Class = 4
            if row.Value > 0.8 and row.Value <= 1.0:
                row.Class = 5
            if row.Value > 1.0 and row.Value <= 1.2:
                row.Class = 4
            if row.Value > 1.2 and row.Value <= 1.4:
                row.Class = 3
            if row.Value > 1.4 and row.Value <= 1.6:
                row.Class = 2
            if row.Value > 1.6 and row.Value <= 2.0:
                row.Class = 1
            rows.updateRow(row)
    except RuntimeError:
        pass
del row, rows  
					
				
			
			
				
			
			
				
			
			
			
			
			
			
		Pre-Logic Script Code: classBreaks = [0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 2] # defines where the values for the breaks are classVals = [1, 2, 3, 4, 5, 4, 3, 2, 1] # what should be returned - corresponds to the position of the value in classBreaks def calc(x): # function that does the calculation '''calc(x) iterates through the classBreaks until it finds the bounding values of the input number, then returns the corresponding value from classVals ''' for i in xrange(len(classBreaks)-1): if classBreaks <= x < classBreaks[i+1]: return classVals elif x == classBreaks[-1]: # x equals the last value - wouldn't work above, as it is less than... return classVals[-1] return None # return something if the value isn't within the range, can be whatever you want - None will be converted to Arc NULL, but you could have 'No Class' or something like that, if you wanted... ClassField= calc(!Value!)
import arcpy
classBreaks = [0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 2] # defines where the values for the breaks are
classVals = [1, 2, 3, 4, 5, 4, 3, 2, 1] # what should be returned - corresponds to the position of the value in classBreaks
def calc(x): # function that does the calculation
 '''calc(x) iterates through the classBreaks until it finds the bounding values of the input number, then returns the corresponding value from classVals
 '''
 for i in xrange(len(classBreaks)-1):
  if classBreaks <= x < classBreaks[i+1]:
   return classVals
                elif x == classBreaks[-1]: # x equals the last value - wouldn't work above, as it is less than...
                        return classVals[-1]
 return None # return something if the value isn't within the range, can be whatever you want - None will be converted to Arc NULL, but you could have 'No Class' or something like that, if you wanted...
arcpy.env.workspace = r"C:\temp\python\test.gdb"
listFCs = arcpy.ListFeatureClasses("*")
for fc in listFCs:
    rows = arcpy.UpdateCursor(fc)
    for row in rows:
        row.ClassField = calc(row.Value)
        rows.updateRow(row)
del row, rows
					
				
			
			
				
			
			
				
			
			
			
			
			
			
		del row, rows
try: del row except NameError: pass del rows
# presumably you are bringing in other variables, you only mentioned 0 then jumped to 3 - the parameter numbers must go up in order... classBreaks_str = gp.GetParameterAsText(3) # Break values (comma separated values) classValues_str = gp.GetParameterAsText(4) # Classes (comma separated values) to be returned, must correspond with the Break values valueField = gp.GetParameterAsText(5) # Field to be calculated on classField = gp.GetParameterAsText(6) # Field for results to go in
classBreaks_str = '[' + classBreaks_str + ']' # add square brackets, so they look like lists
classValues_str = '[' + classValues_str + ']'
try: classBreaks = eval(classBreaks_str)
except SyntaxError: arcpy.AddError('Class Breaks was entered incorrectly; values must each seperated by a comma.')
except NameError: arcpy.AddError('Class Breaks was entered incorrectly; values must either be numbers or, if strings, within quotes.')
try: classValues = eval(classValues_str) # I called this classVals in the previous post
except SyntaxError: arcpy.AddError('Class Values was entered incorrectly; values must each seperated by a comma.')
except NameError: arcpy.AddError('Class Values was entered incorrectly; values must either be numbers or, if strings, within quotes.')
if len(classBreaks) != len(classValues):
 arcpy.AddError('Class Values and Class Breaks must be the same length.')
 
# rest of processing (previous posts) goes here...
import arcpy
import arcgisscripting
gp = arcgisscripting.create()
Feature_Class = gp.GetParameterAsText(0) # Location of Geodatabase
classBreaks_str = gp.GetParameterAsText(1) # Break values (comma separated values)
classValues_str = gp.GetParameterAsText(2) # Classes (comma separated values) to be returned, must correspond with the Break values
valueField = gp.GetParameterAsText(3) # Field to be calculated on
classField = gp.GetParameterAsText(4) # Field for results to go in
classBreaks_str = '[' + classBreaks_str + ']' # add square brackets, so they look like lists
classValues_str = '[' + classValues_str + ']'
try: classBreaks = eval(classBreaks_str)
except SyntaxError: arcpy.AddError('Class Breaks was entered incorrectly; values must each seperated by a comma.')
except NameError: arcpy.AddError('Class Breaks was entered incorrectly; values must either be numbers or, if strings, within quotes.')
try: classValues = eval(classValues_str) # I called this classVals in the previous post
except SyntaxError: arcpy.AddError('Class Values was entered incorrectly; values must each seperated by a comma.')
except NameError: arcpy.AddError('Class Values was entered incorrectly; values must either be numbers or, if strings, within quotes.')
if len(classBreaks) != len(classValues):
 arcpy.AddError('Class Values and Class Breaks must be the same length.')
def calc(x): # function that does the calculation
 '''calc(x) iterates through the classBreaks until it finds the bounding values of the input number, then returns the corresponding value from classVals
 '''
 for i in xrange(len(classBreaks)-1):
  if classBreaks <= x < classBreaks[i+1]:
   return classValuess
                elif x == classBreaks[-1]: # x equals the last value - wouldn't work above, as it is less than...
                        return classValues[-1]
 return None # return something if the value isn't within the range, can be whatever you want - None will be converted to Arc NULL, but you could have 'No Class' or something like that, if you wanted...
listFCs = arcpy.ListFeatureClasses("*")
for fc in listFCs:
    rows = arcpy.UpdateCursor(fc)
    for row in rows:
        row.classField = calc(row.valueField)
        rows.updateRow(row)
try: del row
except NameError: pass
del rows
<type 'exceptions.RuntimeError'>: Row: Field valueField does not exist Failed to execute (Classify)
import arcpy
def calc(x): # function that does the calculation
 '''calc(x) iterates through the classBreaks until it finds the bounding values of the input number, then returns the corresponding value from classVals
 '''
 for i in xrange(len(classBreaks)-1):
  if classBreaks <= x < classBreaks[i+1]:
   return classValues
  elif x == classBreaks[-1]: # x equals the last value - wouldn't work above, as it is less than...
   return classValues[-1]
 return None # return something if the value isn't within the range, can be whatever you want - None will be converted to Arc NULL, but you could have 'No Class' or something like that, if you wanted...
Geodatabase = arcpy.GetParameterAsText(0) # Location of Geodatabase
classBreaks_str = arcpy.GetParameterAsText(1) # Break values (comma separated values)
classValues_str = arcpy.GetParameterAsText(2) # Classes (comma separated values) to be returned, must correspond with the Break values
valueField = arcpy.GetParameterAsText(3) # Field to be calculated on
classField = arcpy.GetParameterAsText(4) # Field for results to go in
classBreaks_str = '[' + classBreaks_str + ']' # add square brackets, so they look like lists
classValues_str = '[' + classValues_str + ']'
try: classBreaks = eval(classBreaks_str)
except SyntaxError: arcpy.AddError('Class Breaks was entered incorrectly; values must each seperated by a comma.')
except NameError: arcpy.AddError('Class Breaks was entered incorrectly; values must either be numbers or, if strings, within quotes.')
try: classValues = eval(classValues_str)
except SyntaxError: arcpy.AddError('Class Values was entered incorrectly; values must each seperated by a comma.')
except NameError: arcpy.AddError('Class Values was entered incorrectly; values must either be numbers or, if strings, within quotes.')
if len(classBreaks) != len(classValues):
 arcpy.AddError('Class Values and Class Breaks must be the same length.')
arcpy.env.workspace = Geodatabase # set the workspace
listFCs = arcpy.ListFeatureClasses('*')
for fc in listFCs:
 rows = arcpy.UpdateCursor(fc)
 for row in rows:
  row.setValue(classField, calc(row.getValue(valueField))) # looks complex, but is just getting the value from valueField, passing it to CALC then writing the output to the classField
  rows.updateRow(row)
 try: del row
 except NameError: pass
 del rows
					
				
			
			
				
			
			
				
			
			
			
			
			
			
		