Skip to content

Commit 8fc111e

Browse files
committed
Addressed review and fixed typos
1 parent 5095802 commit 8fc111e

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

contents/stable_marriage_problem/code/python/stable_marriage.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ def main():
1616
# did not set it as a number, use default value of 5
1717
num_pairs = 5
1818

19-
2019
# There are only 26 possible names for each sex
2120
if num_pairs > 26:
2221
print("You can't have more than 26 pairs.")
@@ -36,23 +35,27 @@ def main():
3635
shuffle(woman.preference)
3736

3837
# Run the algorithm
39-
resolve(men, women)
38+
stable_marriage(men, women)
4039

4140
# Print preferences and the result
41+
print('Preferences of the men:')
4242
for man in men:
43-
print(f"{man.name}: {', '.join((p.name for p in man.preference))}")
43+
print(f'{man.name}: {", ".join((p.name for p in man.preference))}')
4444

45-
print('')
45+
print()
4646

47+
print('Preferences of the women:')
4748
for woman in women:
48-
print(f"{woman.name}: {', '.join((p.name for p in woman.preference))}")
49+
print(f'{woman.name}: {", ".join((p.name for p in woman.preference))}')
4950

5051
print('\n')
5152

53+
print('The algorithm gave this solution:')
5254
for man in men:
5355
print(f'{man.name} + {man.partner.name}')
5456

55-
def resolve(men, women):
57+
58+
def stable_marriage(men, women):
5659
"""Finds pairs with stable marriages"""
5760

5861
while True:
@@ -120,21 +123,22 @@ def partner(self, person):
120123
person as well"""
121124

122125
# Do nothing if nothing would change
123-
if person != self.partner:
126+
if person != self._partner:
124127
# Remove self from current partner
125-
if self.partner is not None:
128+
if self._partner is not None:
126129
self._partner._partner = None
127130

128131
# Set own and the other person's partner
129132
self._partner = person
130-
if self.partner is not None:
133+
if self._partner is not None:
131134
self._partner._partner = self
132135

133-
# This allows use of self.has_parnter instead of self.has_partner()
136+
# This allows use of self.has_partner instead of self.has_partner()
134137
@property
135138
def has_partner(self):
136139
"""Determine whether this person currently has a partner or not."""
137140
return self.partner is not None
138141

142+
139143
if __name__ == '__main__':
140144
main()

0 commit comments

Comments
 (0)