what you're describing is called ‘string interpolation’.
In days of old, you could simply add strings together with the + operator, but this looks a bit ugly.
As you're using Python 3.6, the easiest way is called “f-strings”, which is new to Python 3.6
I admit I’ve not tried this, but something like this should do the trick. Put an ‘f’'f' before the string, and put the variable name in {curly_brackets}
crop = [maize['maize', wheat'wheat', rice]'rice']
for crop in crops:
processing.run("saga:cliprasterwithpolygon", { 'INPUT' : f’f'/Users/.../{crop}_HarvestedAreaHectares.tif',
'OUTPUT' : f’f'/Users/.../{crop}.sdat',
'POLYGONS' : '/Users/.../africa_countries.shp' })