mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-11-24 13:31:07 +00:00
b7f13d991c
* Travis CI: Add type checking with mypy * Create requirements.txt * script: mypy --ignore-missing-stubs=cv2,numpy . * Delete requirements.txt * script: mypy --ignore-missing-imports . * Run doctests * Disable doctest -v other/detecting_english_programmatically.py * Pytest * No | * pytest || true * Run black doctest flake8 mypy pytest * after_success: Build Directory.md * Typo in filename: Dictionary.txt --> dictionary.txt' Discovered via doctest run in #964 * python -m doctest -v * pip install black flake8 mypy pytest * pytest --doctest-glob='*.py' * pytest --doctest-modules * pytest --doctest-modules ./sorts * pytest --doctest-modules ./ciphers ./other ./searches ./sorts ./strings || true * if __name__ == "__main__": * if __name__ == "__main__": * if __name__ == '__main__': * if __name__ == '__main__': * if __name__ == '__main__': * Create requirements.txt * Update requirements.txt * if __name__ == "__main__": * Lose the doctests * if __name__ == '__main__': * Remove print-a-tuple * doctest: Added missing spaces * Update tabu_search.py * The >>> are not doctests so change to >>) * Travis CI: Run black, doctest, flake8, mypy, and pytest * Link to the separate DIRECTORY.md file * Update README.md
27 lines
714 B
Python
27 lines
714 B
Python
from __future__ import print_function
|
|
def moveTower(height, fromPole, toPole, withPole):
|
|
'''
|
|
>>> moveTower(3, 'A', 'B', 'C')
|
|
moving disk from A to B
|
|
moving disk from A to C
|
|
moving disk from B to C
|
|
moving disk from A to B
|
|
moving disk from C to A
|
|
moving disk from C to B
|
|
moving disk from A to B
|
|
'''
|
|
if height >= 1:
|
|
moveTower(height-1, fromPole, withPole, toPole)
|
|
moveDisk(fromPole, toPole)
|
|
moveTower(height-1, withPole, toPole, fromPole)
|
|
|
|
def moveDisk(fp,tp):
|
|
print('moving disk from', fp, 'to', tp)
|
|
|
|
def main():
|
|
height = int(input('Height of hanoi: ').strip())
|
|
moveTower(height, 'A', 'B', 'C')
|
|
|
|
if __name__ == '__main__':
|
|
main()
|