X Tutup
"""Sine Message, by Al Sweigart al@inventwithpython.com Create a sine-wavy message. This code is available at https://nostarch.com/big-book-small-python-programming Tags: tiny, artistic""" import math, shutil, sys, time # Get the size of the terminal window: WIDTH, HEIGHT = shutil.get_terminal_size() # We can't print to the last column on Windows without it adding a # newline automatically, so reduce the width by one: WIDTH -= 1 print('Sine Message, by Al Sweigart al@inventwithpython.com') print('(Press Ctrl-C to quit.)') print() print('What message do you want to display? (Max', WIDTH // 2, 'chars.)') while True: message = input('> ') if 1 <= len(message) <= (WIDTH // 2): break print('Message must be 1 to', WIDTH // 2, 'characters long.') step = 0.0 # The "step" determines how far into the sine wave we are. # Sine goes from -1.0 to 1.0, so we need to change it by a multiplier: multiplier = (WIDTH - len(message)) / 2 try: while True: # Main program loop. sinOfStep = math.sin(step) padding = ' ' * int((sinOfStep + 1) * multiplier) print(padding + message) time.sleep(0.1) step += 0.25 # (!) Try changing this to 0.1 or 0.5. except KeyboardInterrupt: sys.exit() # When Ctrl-C is pressed, end the program.
X Tutup