This example neatly prints the multiplication table with dimensions the user entered.<br><br><br>diff --git a/data/GSOC examples/multiplication table b/data/GSOC examples/multip<br>new file mode 100644<br>index 0000000..4601f01<br>

--- /dev/null<br>+++ b/data/GSOC examples/multiplication table   <br>@@ -0,0 +1,69 @@<br>+import time<br>+import os<br>+<br>+print &quot;This will draw the multiplication table with dimensions of your choice.&quot;<br>+print &quot;Feel free to modify and drawing speed and other variables.&quot;<br>

+<br>+# how many numbers per second? Default is 5.<br>+drawing_speed = 5<br>+<br>+# raw_input() will get whatever text you enter with your keyboard.<br>+# int() will give an error if it can&#39;t turn that text into a number.<br>

+try:<br>+    print &quot;How many numbers wide?&quot;<br>+    x = int(raw_input())<br>+<br>+    print &quot;How many numbers high? &quot;<br>+    y = int(raw_input())<br>+# If there&#39;s an error in the &quot;try:&quot; block of code, the following will happen.<br>

+# The program will print an error message and quit.<br>+except:<br>+    print &quot;That is not a valid number.&quot;<br>+    sys.exit()<br>+<br>+# In case everything went well, the program didn&#39;t quit and is now here.<br>

+# The following will create two lists of numbers, each starting with 1 and<br>+# ending with whatever you entered as x (&quot;row&quot; list) and y (&quot;column&quot; list).<br>+# Practice: By default, both lists start with 1. What if we changed that?<br>

+row = range(1, x+1)<br>+column = range(1, y+1)<br>+<br>+# From now on, everything we want to print on the screen we&#39;ll store <br>+# in the &quot;output&quot; variable. First we make it an empty string, and then add to i<br>

+# whatever we want to print.<br>+output = &quot;&quot;<br>+# the first printed line, for decoration:<br>+# add the beginning of it<br>+output += &quot;|-------|--&quot; <br>+# for each number in a row, add eight dashes and mark the end of line with \n<br>

+# \n is called a &#39;newline&#39; and it makes your console start writing a new line.<br>+output += len(row) * &quot;--------&quot; +&quot;\n&quot; <br>+# What the second line starts with. \t marks one tab.<br>+output += &quot;|\t|\t&quot;<br>

+<br>+# Now, we would like to print the first row of numbers, which<br>+# represent the factors we&#39;ll multiply. Add each number from &quot;row&quot;<br>+# to the output string. str(number) turns a number to characters<br>

+# (like number 42 to characters &#39;4&#39; and &#39;2&#39;)<br>+for number in row:<br>+    output +=  str(number) + &quot;\t&quot;<br>+<br>+# add another decorative line<br>+output += &quot;\n&quot; + &quot;|-------|--&quot; + len(row) * &quot;--------&quot;  + &quot;\n&quot;<br>

+<br>+# for each number in the first column, multiply it with each number in the <br>+# first row. One by one, add the results to &quot;output&quot; and print it.<br>+for factor1 in column:<br>+    output += &quot;|   &quot; + str(factor1) + &quot;\t|\t&quot;<br>

+    for factor2 in row:<br>+        output +=  str(factor1*factor2) + &quot;\t&quot;<br>+        # clear the screen from what was last printed (old output) so <br>+        # we can print the new output (with one result added)<br>

+        os.system(&#39;clear&#39;)<br>+        print output<br>+        # Pause the program. If &quot;drawing_speed&quot; is 5, it will pause for <br>+        # 1/5 seconds (0.2 seconds), which gives us five characters <br>

+        # per seconds.<br>+        time.sleep(1.0 / drawing_speed)<br>+    # mark the end of the line<br>+    output += &quot;\n&quot;<br><br>