diff --git a/32 Diamond/python/diamond.py b/32 Diamond/python/diamond.py new file mode 100644 index 00000000..a622eb58 --- /dev/null +++ b/32 Diamond/python/diamond.py @@ -0,0 +1,64 @@ +""" +DIAMOND + +Prints pretty diamond patterns to the screen. + +Ported by Dave LeCompte +""" + + +def print_with_tab(space_count, msg): + if space_count > 0: + spaces = " " * space_count + else: + spaces = "" + print(spaces + msg) + + +def print_diamond(begin_width, end_width, step, width, count): + edgeString = "CC" + fill = "!" + + n = begin_width + while True: + line_buffer = " " * ((width - n) // 2) + for across in range(count): + for a in range(n): + if a >= len(edgeString): + line_buffer += fill + else: + line_buffer += edgeString[a] + line_buffer += " " * ( + (width * (across + 1) + (width - n) // 2) - len(line_buffer) + ) + print(line_buffer) + if n == end_width: + return + n += step + + +def main(): + print_with_tab(33, "DIAMOND") + print_with_tab(15, "CREATIVE COMPUTING MORRISTOWN, NEW JERSEY") + print() + print() + print() + print("FOR A PRETTY DIAMOND PATTERN,") + print("TYPE IN AN ODD NUMBER BETWEEN 5 AND 21") + width = int(input()) + print() + + PAGE_WIDTH = 60 + + count = int(PAGE_WIDTH / width) + + for down in range(count): + print_diamond(1, width, 2, width, count) + print_diamond(width - 2, 1, -2, width, count) + + print() + print() + + +if __name__ == "__main__": + main()