diff --git a/docs/source/algorithms/SelectCellOfType-v1.rst b/docs/source/algorithms/SelectCellOfType-v1.rst
index afb8c027fbddf37d127c9bab914059e53b40e5a1..dcff4e1ba83e0d92beb35e06208b7f0bc05d4e19 100644
--- a/docs/source/algorithms/SelectCellOfType-v1.rst
+++ b/docs/source/algorithms/SelectCellOfType-v1.rst
@@ -36,24 +36,27 @@ Usage
 
    ws=LoadIsawPeaks("TOPAZ_3007.peaks")
    FindUBUsingFFT(ws,MinD=8.0,MaxD=13.0)
-   print "Lattice before SelectCellOfType:"
+   print("Lattice before SelectCellOfType:")
    lattice = ws.sample().getOrientedLattice()
-   print lattice.a(),lattice.b(),lattice.c(),lattice.alpha(),lattice.beta(),lattice.gamma()
+   print(" ".join("{:.9f}".format(x) for x in [lattice.a(), lattice.b(), lattice.c(),
+                   	                        lattice.alpha(), lattice.beta(), lattice.gamma()]))
    SelectCellOfType(PeaksWorkspace=ws, CellType='Monoclinic', Centering='C', Apply=True)
-   print "\nLattice after SelectCellOfType:"
+   print("\nLattice after SelectCellOfType:")
    lattice = ws.sample().getOrientedLattice()
-   print lattice.a(),lattice.b(),lattice.c(),lattice.alpha(),lattice.beta(),lattice.gamma()
+   print(" ".join("{:.9f}".format(x) for x in [lattice.a(), lattice.b(), lattice.c(),
+                   	                        lattice.alpha(), lattice.beta(), lattice.gamma()]))
 
 
 Output:
 
 .. testoutput:: ExSelectCellOfType
 
-   Lattice before SelectCellOfType:
-   8.60581864273 11.935925461 11.9418127661 107.429088323 98.7529124665 98.9511934747
+    Lattice before SelectCellOfType:
+    8.605818643 11.935925461 11.941812766 107.429088323 98.752912466 98.951193475
+
+    Lattice after SelectCellOfType:
+    14.131051152 19.247332564 8.605818643 89.881170675 105.071333770 89.970386662
 
-   Lattice after SelectCellOfType:
-   14.1310511523 19.247332564 8.60581864273 89.8811706749 105.07133377 89.970386662
 
 .. categories::
 
diff --git a/docs/source/algorithms/SelectCellWithForm-v1.rst b/docs/source/algorithms/SelectCellWithForm-v1.rst
index 1c6b8c5a32d60a1e95e623ed7193611e4e66d1db..691de2073cd8fa4ad14ab4b4500973fa21a65b3c 100644
--- a/docs/source/algorithms/SelectCellWithForm-v1.rst
+++ b/docs/source/algorithms/SelectCellWithForm-v1.rst
@@ -36,24 +36,26 @@ Usage
    
    ws=LoadIsawPeaks("TOPAZ_3007.peaks")
    FindUBUsingFFT(ws,MinD=8.0,MaxD=13.0)
-   print "Lattice before SelectCellWithForm:"
+   print("Lattice before SelectCellWithForm:")
    lattice = ws.sample().getOrientedLattice()
-   print lattice.a(),lattice.b(),lattice.c(),lattice.alpha(),lattice.beta(),lattice.gamma()
+   print(" ".join("{:.9f}".format(x) for x in [lattice.a(), lattice.b(), lattice.c(),
+                   	                        lattice.alpha(), lattice.beta(), lattice.gamma()]))
    SelectCellWithForm(PeaksWorkspace='ws', FormNumber=25, Apply=True)
-   print "\nLattice after SelectCellWithForm:"
+   print("\nLattice after SelectCellWithForm:")
    lattice = ws.sample().getOrientedLattice()
-   print lattice.a(),lattice.b(),lattice.c(),lattice.alpha(),lattice.beta(),lattice.gamma()
+   print(" ".join("{:.9f}".format(x) for x in [lattice.a(), lattice.b(), lattice.c(),
+                   	                        lattice.alpha(), lattice.beta(), lattice.gamma()]))
  
  
 Output:
  
 .. testoutput:: ExSelectCellWithForm
 
-   Lattice before SelectCellWithForm:
-   8.60581864273 11.935925461 11.9418127661 107.429088323 98.7529124665 98.9511934747
+    Lattice before SelectCellWithForm:
+    8.605818643 11.935925461 11.941812766 107.429088323 98.752912466 98.951193475
 
-   Lattice after SelectCellWithForm:
-   14.1310511523 19.247332564 8.60581864273 89.8811706749 105.07133377 89.970386662
+    Lattice after SelectCellWithForm:
+    14.131051152 19.247332564 8.605818643 89.881170675 105.071333770 89.970386662
 
 .. categories::
 
diff --git a/docs/source/algorithms/SelectNexusFilesByMetadata-v1.rst b/docs/source/algorithms/SelectNexusFilesByMetadata-v1.rst
index d3a1972300bd090ad69f3acf32a07cd42ffb9bf5..6207b7c559184f2d95b20721450d3748eb479851 100644
--- a/docs/source/algorithms/SelectNexusFilesByMetadata-v1.rst
+++ b/docs/source/algorithms/SelectNexusFilesByMetadata-v1.rst
@@ -26,7 +26,7 @@ Note, that this algorithm requires `h5py <https://pypi.python.org/pypi/h5py>`_ p
 
     res = SelectNexusFilesByMetadata(FileList='INTER00013460,13463,13464.nxs',
                                      NexusCriteria='$raw_data_1/duration$ > 1000 or $raw_data_1/good_frames$ > 10000')
-    print("res is now a string containing comma separated paths of %i file names that satisfy the criteria" % len(res.split(',')))
+    print("res is now a string containing comma separated paths of {} file names that satisfy the criteria".format(len(res.split(','))))
 
 Output:
 
diff --git a/docs/source/algorithms/SetDetScale-v1.rst b/docs/source/algorithms/SetDetScale-v1.rst
index 34642442aa6d9c465349397c0e8aa29a77195585..ca1a0e36a8a171faa0a228f24b3be63ea184c4e4 100644
--- a/docs/source/algorithms/SetDetScale-v1.rst
+++ b/docs/source/algorithms/SetDetScale-v1.rst
@@ -28,15 +28,15 @@ Usage
 
     w=LoadIsawPeaks("TOPAZ_3007.peaks")
 
-    print "Before SetDetScale:"
-    print '{0:.5f}'.format(w.getInstrument().getNumberParameter("detScale17")[0])
-    print '{0:.5f}'.format(w.getInstrument().getNumberParameter("detScale49")[0])
+    print("Before SetDetScale:")
+    print('{0:.5f}'.format(w.getInstrument().getNumberParameter("detScale17")[0]))
+    print('{0:.5f}'.format(w.getInstrument().getNumberParameter("detScale49")[0]))
 
     #This SetDetScale will change the parameters set in parameter file
     SetDetScale(Workspace=w, DetScaleList='17:1.0,49:2.0')
-    print "After SetDetScale:"
-    print '{0:.5f}'.format(w.getInstrument().getNumberParameter("detScale17")[0])
-    print '{0:.5f}'.format(w.getInstrument().getNumberParameter("detScale49")[0])
+    print("After SetDetScale:")
+    print('{0:.5f}'.format(w.getInstrument().getNumberParameter("detScale17")[0]))
+    print('{0:.5f}'.format(w.getInstrument().getNumberParameter("detScale49")[0]))
 
 
 Output:
diff --git a/docs/source/algorithms/SetGoniometer-v1.rst b/docs/source/algorithms/SetGoniometer-v1.rst
index 7e716a11e342f278fd29d61f93502fb2746648bc..d8c47595fe3f1c1e5f7f539c2f2f9447a4583401 100644
--- a/docs/source/algorithms/SetGoniometer-v1.rst
+++ b/docs/source/algorithms/SetGoniometer-v1.rst
@@ -44,15 +44,15 @@ Usage
 
 .. testcode:: SetGoniometer
 
-    wg=CreateSingleValuedWorkspace()
-    AddSampleLog(wg,"Motor1","45.","Number")
-    SetGoniometer(wg,Axis0="Motor1,0,1,0,1",Axis1="5,0,1,0,1")
+    wg = CreateSingleValuedWorkspace()
+    AddSampleLog(wg, "Motor1", "45.", "Number")
+    SetGoniometer(wg, Axis0="Motor1,0,1,0,1", Axis1="5,0,1,0,1")
 
-    print "Log values:",wg.getRun().keys()
-    print "Goniometer angles: ",wg.getRun().getGoniometer().getEulerAngles('YZY')
-    print "Clearing goniometer up"
+    print("Log values: {}".format(wg.getRun().keys()))
+    print("Goniometer angles:  {}".format(wg.getRun().getGoniometer().getEulerAngles('YZY')))
+    print("Clearing goniometer up")
     SetGoniometer(wg) 
-    print "Goniometer angles: ",wg.getRun().getGoniometer().getEulerAngles('YZY')    
+    print("Goniometer angles:  {}".format(wg.getRun().getGoniometer().getEulerAngles('YZY')    ))
 
 .. testcleanup:: SetGoniometer
 
diff --git a/docs/source/algorithms/SetInstrumentParameter-v1.rst b/docs/source/algorithms/SetInstrumentParameter-v1.rst
index a59b17bf49255d5a01402ddf81ab44e6c4ed28a3..07d3193ca4b258637101ec9eb7309f2be74969e2 100644
--- a/docs/source/algorithms/SetInstrumentParameter-v1.rst
+++ b/docs/source/algorithms/SetInstrumentParameter-v1.rst
@@ -50,19 +50,19 @@ Usage
   bank1=instrument.getComponentByName("bank1")
   bank2=instrument.getComponentByName("bank2")
 
-  print ("The whole instrument parameter can be read from anywhere.")
-  print ("  The instrument: " + instrument.getStringParameter("TestParam")[0])
-  print ("  bank 1: " + bank1.getStringParameter("TestParam")[0])
-  print ("  bank 2: " + bank2.getStringParameter("TestParam")[0])
+  print("The whole instrument parameter can be read from anywhere.")
+  print("  The instrument: " + instrument.getStringParameter("TestParam")[0])
+  print("  bank 1: " + bank1.getStringParameter("TestParam")[0])
+  print("  bank 2: " + bank2.getStringParameter("TestParam")[0])
 
-  print ("The parameters  on the Bank 1 can be read from the bank or below.")
+  print("The parameters  on the Bank 1 can be read from the bank or below.")
   #For this one call getIntParameter as the number was an int
-  print ("  bank 1: " + str(bank1.getIntParameter("NumberParam")[0]))
+  print("  bank 1: " + str(bank1.getIntParameter("NumberParam")[0]))
   #For this one call getNumberParameter as the number was a float
-  print ("  bank 2: " + str(bank2.getNumberParameter("NumberParam")[0]))
+  print("  bank 2: " + str(bank2.getNumberParameter("NumberParam")[0]))
   #if you are not sure of the type of a parameter you can call getParameterType
-  print ("  The type of NumberParam in bank 1: " + bank1.getParameterType("NumberParam"))  
-  print ("  The type of NumberParam in bank 2: " + bank2.getParameterType("NumberParam"))
+  print("  The type of NumberParam in bank 1: " + bank1.getParameterType("NumberParam"))  
+  print("  The type of NumberParam in bank 2: " + bank2.getParameterType("NumberParam"))
 
 
 Output:
@@ -92,11 +92,11 @@ Output:
   instrument=ws.getInstrument()
   bank1=instrument.getComponentByName("bank1")
   
-  print ("The SetInstrumentParameter overwrites previous values where the ParameterName and Component match.")
-  print ("  The test param for the instrument is: " + instrument.getStringParameter("TestParam")[0])
-  print ("Different Components can have the same Parameter Name with different values.") 
-  print ("You will receive the closest value to the component you ask from.")
-  print ("  The test param for bank 1 is: " + bank1.getStringParameter("TestParam")[0])
+  print("The SetInstrumentParameter overwrites previous values where the ParameterName and Component match.")
+  print("  The test param for the instrument is: " + instrument.getStringParameter("TestParam")[0])
+  print("Different Components can have the same Parameter Name with different values.") 
+  print("You will receive the closest value to the component you ask from.")
+  print("  The test param for bank 1 is: " + bank1.getStringParameter("TestParam")[0])
 
 Output:
 
diff --git a/docs/source/algorithms/SetMDFrame-v1.rst b/docs/source/algorithms/SetMDFrame-v1.rst
index 85bae93b8c658445c7cf0cbeef3c9564c3203629..a53653f95fe6e26bce51802cebd99fdf085e9f42 100644
--- a/docs/source/algorithms/SetMDFrame-v1.rst
+++ b/docs/source/algorithms/SetMDFrame-v1.rst
@@ -36,16 +36,16 @@ Usage
     mdws = CreateMDWorkspace(Dimensions=3, Extents='-10,10,-10,10,-10,10', 
                                         Names='A,B,C', Units='U,U,U', 
                                         Frames='QSample, QSample, QSample')
-    print "The first MDFrame is of type " + mdws.getDimension(0).getMDFrame().name()
-    print "The second MDFrame is of type " + mdws.getDimension(1).getMDFrame().name()
-    print "The third MDFrame is of type " + mdws.getDimension(2).getMDFrame().name()
+    print("The first MDFrame is of type " + mdws.getDimension(0).getMDFrame().name())
+    print("The second MDFrame is of type " + mdws.getDimension(1).getMDFrame().name())
+    print("The third MDFrame is of type " + mdws.getDimension(2).getMDFrame().name())
 
     # Set the 0th and 2nd frame to QLab
     SetMDFrame(mdws,MDFrame='QLab', Axes=[0,2])
 
-    print "The new first MDFrame is of type " + mdws.getDimension(0).getMDFrame().name()
-    print "The second MDFrame is of type " + mdws.getDimension(1).getMDFrame().name()
-    print "The new third MDFrame is of type " + mdws.getDimension(2).getMDFrame().name()
+    print("The new first MDFrame is of type " + mdws.getDimension(0).getMDFrame().name())
+    print("The second MDFrame is of type " + mdws.getDimension(1).getMDFrame().name())
+    print("The new third MDFrame is of type " + mdws.getDimension(2).getMDFrame().name())
 
 Output:
 
diff --git a/docs/source/algorithms/SetUB-v1.rst b/docs/source/algorithms/SetUB-v1.rst
index 6f97b00fab1c40b5096746664abe204ac2bd8926..44a9e5843adf7f256cf5ae38c495ca413c369016 100644
--- a/docs/source/algorithms/SetUB-v1.rst
+++ b/docs/source/algorithms/SetUB-v1.rst
@@ -28,16 +28,16 @@ Usage
 .. testcode:: SetUB
 
     # create a workspace (or you can load one)
-    ws=CreateSingleValuedWorkspace(5)
+    ws = CreateSingleValuedWorkspace(5)
     
     #set a UB matrix using the vector along k_i as 1,1,0, and the 0,0,1 vector in the horizontal plane
-    SetUB(ws,a=5,b=6,c=7,alpha=90, beta=90, gamma=90, u="1,1,0", v="0,0,1")
+    SetUB(ws, a=5, b=6, c=7, alpha=90, beta=90, gamma=90, u="1,1,0", v="0,0,1")
     
     #check that it works
-    from numpy import *
-    mat=array(ws.sample().getOrientedLattice().getUB())
-    print "UB matrix"
-    print array_str(mat,precision=3, suppress_small=True)
+    from numpy import array, array_str
+    mat = array(ws.sample().getOrientedLattice().getUB())
+    print("UB matrix")
+    print(array_str(mat, precision=3, suppress_small=True))
 
 .. testcleanup:: SetUB
     
diff --git a/docs/source/algorithms/SetupILLD33Reduction-v1.rst b/docs/source/algorithms/SetupILLD33Reduction-v1.rst
index 3077cd0e02d0fa4ed973968a23b7d37794c268aa..92d3513dd328c1d15459e4f06e81448de6b5b13d 100644
--- a/docs/source/algorithms/SetupILLD33Reduction-v1.rst
+++ b/docs/source/algorithms/SetupILLD33Reduction-v1.rst
@@ -82,7 +82,7 @@ Usage
 
 	# Get the OutputWorkspace as a python workspace
 	iq = mtd['IQ_curve']
-	print "This workspace has", iq.getNumDims(), "dimensions and has", iq.getNumberHistograms(), "histograms."
+	print("This workspace has {} dimensions and has {} histograms.".format(iq.getNumDims(), iq.getNumberHistograms()))
 
 Output:
 
diff --git a/docs/source/algorithms/ShiftLogTime-v1.rst b/docs/source/algorithms/ShiftLogTime-v1.rst
index 53d9da60e4c4619bc9a886b766b3801eb98cde37..ccf77c215026ae929152f434e80293e0e67c5d53 100644
--- a/docs/source/algorithms/ShiftLogTime-v1.rst
+++ b/docs/source/algorithms/ShiftLogTime-v1.rst
@@ -19,16 +19,16 @@ Usage
 .. testcode:: ShiftLogTime
     
     #Load a workspace
-    w=Load('CNCS_7860')
+    w = Load('CNCS_7860')
     #get the log times for a particular variable
-    original=w.getRun()['Speed5'].times
+    original = w.getRun()['Speed5'].times
     #Change the log times
-    w=ShiftLogTime(w,LogName='Speed5',IndexShift='2')
+    w = ShiftLogTime(w, LogName='Speed5', IndexShift='2')
     #get the log times for a particular variable, after change
-    modified=w.getRun()['Speed5'].times
+    modified = w.getRun()['Speed5'].times
     #print times
-    print "OriginalTimes: ", original
-    print "ModifiedTimes: ", modified
+    print("OriginalTimes:  {}".format(original))
+    print("ModifiedTimes:  {}".format(modified))
 
 
 .. testcleanup:: ShiftLogTime
diff --git a/docs/source/algorithms/ShowPeakHKLOffsets-v1.rst b/docs/source/algorithms/ShowPeakHKLOffsets-v1.rst
index 886b1efc0a63a37dce6fd56755f9aadc3e98fdd2..e3dedcf03eddd580ddac2a7c8ba1951969a634da 100644
--- a/docs/source/algorithms/ShowPeakHKLOffsets-v1.rst
+++ b/docs/source/algorithms/ShowPeakHKLOffsets-v1.rst
@@ -39,10 +39,10 @@ Usage
    table = ShowPeakHKLOffsets('peaks_qLab')
 
    #Print part of first four rows
-   for i in [0,1,2,3]:
+   for i in range(4):
       row = table.row(i)
-      #print row
-      print "{H offset from int: %.3f, K offset from int: %.3f, L offset from int: %.3f }" % ( row["H offset from int"],  row["K offset from int"], row["L offset from int"])
+      print("{{H offset from int: {:.3f}, K offset from int: {:.3f}, L offset from int: {:.3f} }}".
+            format(row["H offset from int"], row["K offset from int"], row["L offset from int"]))
 
 
 Output:
diff --git a/docs/source/algorithms/ShowPossibleCells-v1.rst b/docs/source/algorithms/ShowPossibleCells-v1.rst
index 5bda7b8703b230c8418c6261cb7e7b59b323d284..8d0738f2d6ba808ff8901e8c72fb92ad0138cac5 100644
--- a/docs/source/algorithms/ShowPossibleCells-v1.rst
+++ b/docs/source/algorithms/ShowPossibleCells-v1.rst
@@ -32,11 +32,11 @@ Usage
 
 .. testcode:: ExShowPossibleCells
 
-   ws=LoadIsawPeaks("TOPAZ_3007.peaks")
+   ws = LoadIsawPeaks("TOPAZ_3007.peaks")
    FindUBUsingFFT(ws,MinD=8.0,MaxD=13.0)
    ShowPossibleCells(PeaksWorkspace=ws)
    alg = ws.getHistory().lastAlgorithm()
-   print "Num Cells : ", alg.getPropertyValue("NumberOfCells")
+   print("Num Cells :  {}".format(alg.getPropertyValue("NumberOfCells")))
 
 
 Output:
diff --git a/docs/source/algorithms/SignalOverError-v1.rst b/docs/source/algorithms/SignalOverError-v1.rst
index 2b5d42cabf81850d5aa29cf92ff7c5ed400889a9..ed1d90ef78b2bb2278ac9cbbea8cb79a27d2ae8c 100644
--- a/docs/source/algorithms/SignalOverError-v1.rst
+++ b/docs/source/algorithms/SignalOverError-v1.rst
@@ -23,10 +23,10 @@ Usage
     ws = CreateSampleWorkspace("Event")
     wsOut = SignalOverError(ws)
 
-    print "Values from every 10th bin"
-    print "bin\tY\tE\tY_New"
+    print("Values from every 10th bin")
+    print("bin\tY\tE\tY_New")
     for i in range (0,ws.blocksize(),10):
-        print "%i\t%.2f\t%.2f\t%.2f" % (i,ws.readY(0)[i],ws.readE(0)[i],wsOut.readY(0)[i])
+        print("{}\t{:.2f}\t{:.2f}\t{:.2f}".format(i,ws.readY(0)[i],ws.readE(0)[i],wsOut.readY(0)[i]))
 
 
 Output:
diff --git a/docs/source/algorithms/SimulatedDensityOfStates-v1.rst b/docs/source/algorithms/SimulatedDensityOfStates-v1.rst
index 98a1b19c03de697ebf8401bb228b87545b1fe36c..4237e7c85e7655a3b60ba563ec3bc0530d039a0e 100644
--- a/docs/source/algorithms/SimulatedDensityOfStates-v1.rst
+++ b/docs/source/algorithms/SimulatedDensityOfStates-v1.rst
@@ -44,7 +44,7 @@ Usage
     castep_ws = SimulatedDensityOfStates(CASTEPFile='squaricn.castep')
     result = CompareWorkspaces(phonon_ws, castep_ws)
 
-    print result[0]
+    print(result[0])
 
 Output:
 
@@ -60,7 +60,7 @@ Output:
                                         Ions=['H', 'C', 'O'])
 
     for name in squaricn.getNames():
-      print name
+      print(name)
 
 Output:
 
@@ -79,7 +79,7 @@ Output:
                                       SumContributions=True)
     total_ws = SimulatedDensityOfStates(PHONONFile='squaricn.phonon')
 
-    print CompareWorkspaces(total_ws, sum_ws, Tolerance=1e-12)[0]
+    print(CompareWorkspaces(total_ws, sum_ws, Tolerance=1e-12)[0])
 
 Output:
 
@@ -93,7 +93,7 @@ Output:
 
     ion_ws = SimulatedDensityOfStates(PHONONFile='squaricn.phonon',
                                       SpectrumType='IonTable')
-    print ', '.join(ion_ws.column('Species'))
+    print(', '.join(ion_ws.column('Species')))
 
 Output:
 
diff --git a/docs/source/algorithms/SliceMD-v1.rst b/docs/source/algorithms/SliceMD-v1.rst
index a6321fa668accf3cfe656e1983ddc0c36b9ec0d2..a8a1a78110e3f1dc151452452c1168a63626cae2 100644
--- a/docs/source/algorithms/SliceMD-v1.rst
+++ b/docs/source/algorithms/SliceMD-v1.rst
@@ -79,14 +79,14 @@ Usage
    # Slice out all C > 0
    sliced = SliceMD(InputWorkspace=mdew, AxisAligned=True, AlignedDim0='A,-10,10,10', AlignedDim1='B, -10, 10, 10', AlignedDim2='C,-10, 0, 10',)
 
-   dim0=sliced.getDimension(0)
-   dim1=sliced.getDimension(1)
-   dim2=sliced.getDimension(2)
+   dim0 = sliced.getDimension(0)
+   dim1 = sliced.getDimension(1)
+   dim2 = sliced.getDimension(2)
 
-   print "A extents", dim0.getMinimum(), dim0.getMaximum()
-   print "B extents", dim1.getMinimum(), dim1.getMaximum()
-   print "C extents", dim2.getMinimum(), dim2.getMaximum()
-   print "Original MDEW should have 2*N events in sliced. We get a factor of : ",  int( mdew.getNEvents() / sliced.getNEvents()  )
+   print("A extents {} {}".format(dim0.getMinimum(), dim0.getMaximum()))
+   print("B extents {} {}".format(dim1.getMinimum(), dim1.getMaximum()))
+   print("C extents {} {}".format(dim2.getMinimum(), dim2.getMaximum()))
+   print("Original MDEW should have 2*N events in sliced. We get a factor of :  {:.0f}".format(mdew.getNEvents() / sliced.getNEvents()))
 
 Output:
 
@@ -119,13 +119,13 @@ Output:
    dim_x = binned.getDimension(0)
    x_axis= numpy.linspace(dim_x.getMinimum(), dim_x.getMaximum(), dim_x.getNBins())
    x_at_max = x_axis[numpy.argmax(signals)]
-   print "Brighest region should be at x  = sqrt( 2*5*5 ) = 7.07. Found to be: ", "{0:.2f}".format(x_at_max)
+   print("Brightest region should be at x  = sqrt( 2*5*5 ) = 7.07. Found to be:  {0:.2f}".format(x_at_max))
 
 Output:
 
 .. testoutput:: SliceMDExampleComplex
 
-   Brighest region should be at x  = sqrt( 2*5*5 ) = 7.07. Found to be:  7.07
+   Brightest region should be at x  = sqrt( 2*5*5 ) = 7.07. Found to be:  7.07
 
 .. categories::
 
diff --git a/docs/source/algorithms/SliceMDHisto-v1.rst b/docs/source/algorithms/SliceMDHisto-v1.rst
index 732bef4bd0c7d7842c58c38323e51c4d5cdd5aaa..9014403ae152c4cead83f43b12f091b9e769b862 100644
--- a/docs/source/algorithms/SliceMDHisto-v1.rst
+++ b/docs/source/algorithms/SliceMDHisto-v1.rst
@@ -30,11 +30,11 @@ Usage
 
     def outputMDDimensions(ws):
         num_dims = ws.getNumDims()
-        print "Name   Bins   Min     Max"
+        print("Name   Bins   Min     Max")
         for dim_index in range(num_dims):
             dim = ws.getDimension(dim_index)
-            print "%s      %i      %.2f   %.2f" % (dim.name,
-                 dim.getNBins(), dim.getMinimum(), dim.getMaximum())   
+            print("{}      {}      {:.2f}   {:.2f}".format(
+	          dim.name, dim.getNBins(), dim.getMinimum(), dim.getMaximum()))
 
     #create a test MD event workspace
     mdew = CreateMDWorkspace(Dimensions=3, Extents=[-1,1,-5,5,-9,10], 
@@ -46,13 +46,13 @@ Usage
         AlignedDim1='B,-5,5,5',
         AlignedDim2='C,-9,10,9')
 
-    print "The original workspace"
+    print("The original workspace")
     outputMDDimensions(wsHisto)
 
     #The values in start and end are the Bin numbers(staring at 0) of the dimensions
     wsOut = SliceMDHisto(wsHisto,Start=[1,2,0],End=[7,4,7])
 
-    print "\nAfter Slicing"
+    print("\nAfter Slicing")
     outputMDDimensions(wsOut)