First I'll answer this question on the assumption that you are learning or about to learn python (perhaps because you have heard it's become popular in bioinformatics) and you wish to know whether it can be applied to this problem. The answer is: almost certainly, yes. Python is a programming language of the type that can be used to automate the solution of this sort of problem, just as C, C++, Java, Perl could.
How would you go about it? You would first solve the problem by hand, analyse the logic of your solution and then try to devise a general algorithm based on this logic that can deal with a variety of cases. Then you would code this in python (or whatever). The program would have to deal with inaccuracies in real values of fragment lengths (your data are obviously contrived) and the possibility of more than one fragment of the same length (see below). If you used python and wanted graphic output you would need to use a library that provides graphics as python does not come with graphics like Java does. I gather there are some. However this is certainly not the easiest of programming tasks for a beginner, as you'll see when you try to analyse the logic of manual solution. And of course the data might be insufficient to provide a unique solution.
However as this is a homework assignment you may also be wanting to find a program to check your answer and perhaps be unsure of how to go about it. I don't know of any packages to do this — it's perhaps not 'cutting edge'. So how to go about it?
What I would do is start with the single digests and draw a set of diagrams for each of the possible arrangements of the restriction sites in each case (pencil and paper work well here). Then I'd look at the simplest double-digest, identify unique fragments that were also present in the single digests and thus not cut by the second enzyme, and again draw diagrams of the possibilities for the pairs of restrictions sites. Be careful; the HindIII/BamHI double-digest doesn't add up to 900, so there must be two fragments of the same size here. When you have all the possibilities drawn out, there is presumably only one final restriction diagram that is consistent with all the data.
On second thoughts, devising an algorithm for solving this general case would be quite a demanding task. If you are starting programming I'd tackle easier algorithms first. And an effective algorithm might adopt a brute force approach rather than the semi-intuitive way we solve these by hand. For example your algorithm might generate all possible maps for each of the the three single digestions, and then generate all possible maps for the double-digestions, together with a calculation of the size of fragments the double-digestions would generate. These would be compared with the size of the actual fragments from double-digestions, eliminating those possibilities that don't fit. Coding it would involve writing methods/functions (or whatever they are called in python) to generate these maps, storing the coordinates of the sites in a data structure such as an array, and writing other methods to make comparisons etc.