Skip to main content
Code Review

Return to Question

Notice removed Content dispute by Community Bot
Post Unlocked by Community Bot
Post Locked by Sᴀᴍ Onᴇᴌᴀ
Notice added Content dispute by Sᴀᴍ Onᴇᴌᴀ
Rollback to Revision 2
Source Link

Solving STACKS !!!!!!!!1the Towers of Hanoi problem in Python by using 3 stacks

THATS MY CODEI am attaching my code to solve the Hanoi problem. IMPROVEMENTS What do you think? Would you change something? I am attaching the instructions for solving the problem, does the code solve the question? In the role of the 3 towers, 3 cartridges will be used: s1,s2,s3 which initially the numbers 1,2,3,...,n (the big number at the bottom of the stack) are found in s1 and the other two stacks are empty.

It is required to develop a solution characterized by the following distinctions: Arrange the 3 towers in a circle. At every odd step, move the small ring clockwise. In every even step, make the possible move that does not involve the small ring

Requirements for implementing the program: Define n as the number of rings. You will produce 3 cartridges and enter values ​​for the first time. Activate the Hanoi function which accepts 3 cartridges. Requirements for the algorithm: The algorithm will transfer the rings from S1 to one of the other towers. After each transfer of a ring, the contents of the 3 cartridges, and the step number, must be printed. (Each ring transfer is a step).

class Stack:
 def __init__(self):
 self.items = []
 ddef is_empty(self):
 return self.items == []
 def push(self, item):
 self.items.append(item)
 def pop(self):
 return self.items.pop()
 def getLen(self):
 return len(self.items)
 
def print_stacks(S1, S2, S3):
 print("S1:", S1.items)
 print("S2:", S2.items)
 print("S3:", S3.items)
def hanoi(n, source, helper, target, step_count):
 if n > 0:
 hanoi(n - 1, source, target, helper, step_count)
 target.push(source.pop())
 step_count[0] += 1
 print("Step:", step_count[0])
 print_stacks(S1, S2, S3)
 print()
 hanoi(n - 1, helper, source, target, step_count)
N = 3
S1 = Stack()
S2 = Stack()
S3 = Stack()
for i in range(N, 0, -1):
 S1.push(i)
print("Initial state of the stacks:")
print_stacks(S1, S2, S3)
print()
step_count = [0]
hanoi(N, S1, S2, S3, step_count)
print("Final state of the stacks:")
print_stacks(S1, S2, S3)
print()
print("Length of S1:", S1.getLen())
print("Length of S2:", S2.getLen())
print("Length of S3:", S3.getLen())
print("Total steps:", step_count[0])

Solving STACKS !!!!!!!!1

THATS MY CODE. IMPROVEMENTS?

class Stack:
 def __init__(self):
 self.items = []
 d

Solving the Towers of Hanoi problem in Python by using 3 stacks

I am attaching my code to solve the Hanoi problem. What do you think? Would you change something? I am attaching the instructions for solving the problem, does the code solve the question? In the role of the 3 towers, 3 cartridges will be used: s1,s2,s3 which initially the numbers 1,2,3,...,n (the big number at the bottom of the stack) are found in s1 and the other two stacks are empty.

It is required to develop a solution characterized by the following distinctions: Arrange the 3 towers in a circle. At every odd step, move the small ring clockwise. In every even step, make the possible move that does not involve the small ring

Requirements for implementing the program: Define n as the number of rings. You will produce 3 cartridges and enter values ​​for the first time. Activate the Hanoi function which accepts 3 cartridges. Requirements for the algorithm: The algorithm will transfer the rings from S1 to one of the other towers. After each transfer of a ring, the contents of the 3 cartridges, and the step number, must be printed. (Each ring transfer is a step).

class Stack:
 def __init__(self):
 self.items = []
 def is_empty(self):
 return self.items == []
 def push(self, item):
 self.items.append(item)
 def pop(self):
 return self.items.pop()
 def getLen(self):
 return len(self.items)
 
def print_stacks(S1, S2, S3):
 print("S1:", S1.items)
 print("S2:", S2.items)
 print("S3:", S3.items)
def hanoi(n, source, helper, target, step_count):
 if n > 0:
 hanoi(n - 1, source, target, helper, step_count)
 target.push(source.pop())
 step_count[0] += 1
 print("Step:", step_count[0])
 print_stacks(S1, S2, S3)
 print()
 hanoi(n - 1, helper, source, target, step_count)
N = 3
S1 = Stack()
S2 = Stack()
S3 = Stack()
for i in range(N, 0, -1):
 S1.push(i)
print("Initial state of the stacks:")
print_stacks(S1, S2, S3)
print()
step_count = [0]
hanoi(N, S1, S2, S3, step_count)
print("Final state of the stacks:")
print_stacks(S1, S2, S3)
print()
print("Length of S1:", S1.getLen())
print("Length of S2:", S2.getLen())
print("Length of S3:", S3.getLen())
print("Total steps:", step_count[0])
deleted 2191 characters in body
Source Link

Solving the Towers of Hanoi problem in Python by using 3 stacksSTACKS !!!!!!!!1

I am attaching my code to solve the Hanoi problemTHATS MY CODE. What do you think? Would you change something? I am attaching the instructions for solving the problem, does the code solve the questionIMPROVEMENTS? In the role of the 3 towers, 3 cartridges will be used: s1,s2,s3 which initially the numbers 1,2,3,...,n (the big number at the bottom of the stack) are found in s1 and the other two stacks are empty.

It is required to develop a solution characterized by the following distinctions: Arrange the 3 towers in a circle. At every odd step, move the small ring clockwise. In every even step, make the possible move that does not involve the small ring

Requirements for implementing the program: Define n as the number of rings. You will produce 3 cartridges and enter values ​​for the first time. Activate the Hanoi function which accepts 3 cartridges. Requirements for the algorithm: The algorithm will transfer the rings from S1 to one of the other towers. After each transfer of a ring, the contents of the 3 cartridges, and the step number, must be printed. (Each ring transfer is a step).

class Stack:
 def __init__(self):
 self.items = []
 def is_empty(self):
 return self.items == []
 def push(self, item):
 self.items.append(item)
 def pop(self):
 return self.items.pop()
 def getLen(self):
 return len(self.items)
 
def print_stacks(S1, S2, S3):
 print("S1:", S1.items)
 print("S2:", S2.items)
 print("S3:", S3.items)
def hanoi(n, source, helper, target, step_count):
 if n > 0:
 hanoi(n - 1, source, target, helper, step_count)
 target.push(source.pop())
 step_count[0] += 1
 print("Step:", step_count[0])
 print_stacks(S1, S2, S3)
 print()
 hanoi(n - 1, helper, source, target, step_count)
N = 3
S1 = Stack()
S2 = Stack()
S3 = Stack()
for i in range(N, 0, -1):
 S1.push(i)
print("Initial state of the stacks:")
print_stacks(S1, S2, S3)
print()
step_count = [0]
hanoi(N, S1, S2, S3, step_count)
print("Final state of the stacks:")
print_stacks(S1, S2, S3)
print()
print("Length of S1:", S1.getLen())
print("Length of S2:", S2.getLen())
print("Length of S3:", S3.getLen())
print("Total steps:", step_count[0])d

Solving the Towers of Hanoi problem in Python by using 3 stacks

I am attaching my code to solve the Hanoi problem. What do you think? Would you change something? I am attaching the instructions for solving the problem, does the code solve the question? In the role of the 3 towers, 3 cartridges will be used: s1,s2,s3 which initially the numbers 1,2,3,...,n (the big number at the bottom of the stack) are found in s1 and the other two stacks are empty.

It is required to develop a solution characterized by the following distinctions: Arrange the 3 towers in a circle. At every odd step, move the small ring clockwise. In every even step, make the possible move that does not involve the small ring

Requirements for implementing the program: Define n as the number of rings. You will produce 3 cartridges and enter values ​​for the first time. Activate the Hanoi function which accepts 3 cartridges. Requirements for the algorithm: The algorithm will transfer the rings from S1 to one of the other towers. After each transfer of a ring, the contents of the 3 cartridges, and the step number, must be printed. (Each ring transfer is a step).

class Stack:
 def __init__(self):
 self.items = []
 def is_empty(self):
 return self.items == []
 def push(self, item):
 self.items.append(item)
 def pop(self):
 return self.items.pop()
 def getLen(self):
 return len(self.items)
 
def print_stacks(S1, S2, S3):
 print("S1:", S1.items)
 print("S2:", S2.items)
 print("S3:", S3.items)
def hanoi(n, source, helper, target, step_count):
 if n > 0:
 hanoi(n - 1, source, target, helper, step_count)
 target.push(source.pop())
 step_count[0] += 1
 print("Step:", step_count[0])
 print_stacks(S1, S2, S3)
 print()
 hanoi(n - 1, helper, source, target, step_count)
N = 3
S1 = Stack()
S2 = Stack()
S3 = Stack()
for i in range(N, 0, -1):
 S1.push(i)
print("Initial state of the stacks:")
print_stacks(S1, S2, S3)
print()
step_count = [0]
hanoi(N, S1, S2, S3, step_count)
print("Final state of the stacks:")
print_stacks(S1, S2, S3)
print()
print("Length of S1:", S1.getLen())
print("Length of S2:", S2.getLen())
print("Length of S3:", S3.getLen())
print("Total steps:", step_count[0])

Solving STACKS !!!!!!!!1

THATS MY CODE. IMPROVEMENTS?

class Stack:
 def __init__(self):
 self.items = []
 d
added 3 characters in body
Source Link
toolic
  • 14.9k
  • 5
  • 29
  • 207

I am attaching my code to solve the Hanoi problem.What What do yotyou think? wouldWould you chancgechange something? I am attaching the instructions for solving the problem, does the code solve the question? In the role of the 3 towers, 3 cartridges will be used: s1,s2,s3 which initially the numbers 1,2,3,...,n (the big number at the bottom of the stack) are found in s1 and the other two stacks are empty.

It is required to develop a solution characterized by the following distinctions: Arrange the 3 towers in a circle At. At every odd step, move the small ring clockwise. In every even step, make the possible move that does not involve the small ring

class Stack:
 def __init__(self):
 self.items = []
 def is_empty(self):
 return self.items == []
 def push(self, item):
 self.items.append(item)
 def pop(self):
 return self.items.pop()
 def getLen(self):
 return len(self.items)
 
def print_stacks(S1, S2, S3):
 print("S1:", S1.items)
 print("S2:", S2.items)
 print("S3:", S3.items)
def hanoi(n, source, helper, target, step_count):
 if n > 0:
 hanoi(n - 1, source, target, helper, step_count)
 target.push(source.pop())
 step_count[0] += 1
 print("Step:", step_count[0])
 print_stacks(S1, S2, S3)
 print()
 hanoi(n - 1, helper, source, target, step_count)
N = 3
S1 = Stack()
S2 = Stack()
S3 = Stack()
for i in range(N, 0, -1):
 S1.push(i)
print("Initial state of the stacks:")
print_stacks(S1, S2, S3)
print()
step_count = [0]
hanoi(N, S1, S2, S3, step_count)
print("Final state of the stacks:")
print_stacks(S1, S2, S3)
print()
print("Length of S1:", S1.getLen())
print("Length of S2:", S2.getLen())
print("Length of S3:", S3.getLen())
print("Total steps:", step_count[0])```

I am attaching my code to solve the Hanoi problem.What do yot think? would you chancge something? I am attaching the instructions for solving the problem, does the code solve the question? In the role of the 3 towers, 3 cartridges will be used: s1,s2,s3 which initially the numbers 1,2,3,...,n (the big number at the bottom of the stack) are found in s1 and the other two stacks are empty.

It is required to develop a solution characterized by the following distinctions: Arrange the 3 towers in a circle At every odd step move the small ring clockwise. In every even step, make the possible move that does not involve the small ring

class Stack:
 def __init__(self):
 self.items = []
 def is_empty(self):
 return self.items == []
 def push(self, item):
 self.items.append(item)
 def pop(self):
 return self.items.pop()
 def getLen(self):
 return len(self.items)
 
def print_stacks(S1, S2, S3):
 print("S1:", S1.items)
 print("S2:", S2.items)
 print("S3:", S3.items)
def hanoi(n, source, helper, target, step_count):
 if n > 0:
 hanoi(n - 1, source, target, helper, step_count)
 target.push(source.pop())
 step_count[0] += 1
 print("Step:", step_count[0])
 print_stacks(S1, S2, S3)
 print()
 hanoi(n - 1, helper, source, target, step_count)
N = 3
S1 = Stack()
S2 = Stack()
S3 = Stack()
for i in range(N, 0, -1):
 S1.push(i)
print("Initial state of the stacks:")
print_stacks(S1, S2, S3)
print()
step_count = [0]
hanoi(N, S1, S2, S3, step_count)
print("Final state of the stacks:")
print_stacks(S1, S2, S3)
print()
print("Length of S1:", S1.getLen())
print("Length of S2:", S2.getLen())
print("Length of S3:", S3.getLen())
print("Total steps:", step_count[0])```

I am attaching my code to solve the Hanoi problem. What do you think? Would you change something? I am attaching the instructions for solving the problem, does the code solve the question? In the role of the 3 towers, 3 cartridges will be used: s1,s2,s3 which initially the numbers 1,2,3,...,n (the big number at the bottom of the stack) are found in s1 and the other two stacks are empty.

It is required to develop a solution characterized by the following distinctions: Arrange the 3 towers in a circle. At every odd step, move the small ring clockwise. In every even step, make the possible move that does not involve the small ring

class Stack:
 def __init__(self):
 self.items = []
 def is_empty(self):
 return self.items == []
 def push(self, item):
 self.items.append(item)
 def pop(self):
 return self.items.pop()
 def getLen(self):
 return len(self.items)
 
def print_stacks(S1, S2, S3):
 print("S1:", S1.items)
 print("S2:", S2.items)
 print("S3:", S3.items)
def hanoi(n, source, helper, target, step_count):
 if n > 0:
 hanoi(n - 1, source, target, helper, step_count)
 target.push(source.pop())
 step_count[0] += 1
 print("Step:", step_count[0])
 print_stacks(S1, S2, S3)
 print()
 hanoi(n - 1, helper, source, target, step_count)
N = 3
S1 = Stack()
S2 = Stack()
S3 = Stack()
for i in range(N, 0, -1):
 S1.push(i)
print("Initial state of the stacks:")
print_stacks(S1, S2, S3)
print()
step_count = [0]
hanoi(N, S1, S2, S3, step_count)
print("Final state of the stacks:")
print_stacks(S1, S2, S3)
print()
print("Length of S1:", S1.getLen())
print("Length of S2:", S2.getLen())
print("Length of S3:", S3.getLen())
print("Total steps:", step_count[0])
Source Link
Loading
lang-py

AltStyle によって変換されたページ (->オリジナル) /