()
| 8 | |
| 9 | |
| 10 | def main(): |
| 11 | print('Soroban - The Japanese Abacus') |
| 12 | print('By Al Sweigart al@inventwithpython.com') |
| 13 | print() |
| 14 | |
| 15 | abacusNumber = 0 # This is the number represented on the abacus. |
| 16 | |
| 17 | while True: # Main program loop. |
| 18 | displayAbacus(abacusNumber) |
| 19 | displayControls() |
| 20 | |
| 21 | commands = input('> ') |
| 22 | if commands == 'quit': |
| 23 | # Quit the program: |
| 24 | break |
| 25 | elif commands.isdecimal(): |
| 26 | # Set the abacus number: |
| 27 | abacusNumber = int(commands) |
| 28 | else: |
| 29 | # Handle increment/decrement commands: |
| 30 | for letter in commands: |
| 31 | if letter == 'q': |
| 32 | abacusNumber += 1000000000 |
| 33 | elif letter == 'a': |
| 34 | abacusNumber -= 1000000000 |
| 35 | elif letter == 'w': |
| 36 | abacusNumber += 100000000 |
| 37 | elif letter == 's': |
| 38 | abacusNumber -= 100000000 |
| 39 | elif letter == 'e': |
| 40 | abacusNumber += 10000000 |
| 41 | elif letter == 'd': |
| 42 | abacusNumber -= 10000000 |
| 43 | elif letter == 'r': |
| 44 | abacusNumber += 1000000 |
| 45 | elif letter == 'f': |
| 46 | abacusNumber -= 1000000 |
| 47 | elif letter == 't': |
| 48 | abacusNumber += 100000 |
| 49 | elif letter == 'g': |
| 50 | abacusNumber -= 100000 |
| 51 | elif letter == 'y': |
| 52 | abacusNumber += 10000 |
| 53 | elif letter == 'h': |
| 54 | abacusNumber -= 10000 |
| 55 | elif letter == 'u': |
| 56 | abacusNumber += 1000 |
| 57 | elif letter == 'j': |
| 58 | abacusNumber -= 1000 |
| 59 | elif letter == 'i': |
| 60 | abacusNumber += 100 |
| 61 | elif letter == 'k': |
| 62 | abacusNumber -= 100 |
| 63 | elif letter == 'o': |
| 64 | abacusNumber += 10 |
| 65 | elif letter == 'l': |
| 66 | abacusNumber -= 10 |
| 67 | elif letter == 'p': |
no test coverage detected