Tuple aus Nummernfolge implementiert für eine gleichmässige Aufteilung auf beide Kreisel

This commit is contained in:
2023-03-07 16:40:04 +01:00
parent 82652b88a3
commit 8260553612
+20 -17
View File
@@ -25,14 +25,14 @@ class Numbers:
res = list() res = list()
if self.isEmpty(): if self.isEmpty():
return res return res
lastItem = self._content[0] lastItem = self._content[-1]
numTuples = 1 numTuples = 1
for e in self._content: for e in reversed(self._content):
if e > lastItem: if e < lastItem:
numTuples += 1 numTuples += 1
lastItem = e lastItem = e
if numTuples <= toGet: if numTuples <= toGet:
res.append(e) res.insert(0, e)
else: else:
break break
return res return res
@@ -242,23 +242,26 @@ class TestObjectMethods(unittest.TestCase):
def test_order(self): def test_order(self):
# tupel werden von rechts nach links bestimmt. # tupel werden von rechts nach links bestimmt.
# Alles was kleiner als der Vorgänger ist, ist ein neuer Start eines Tupels # Jede Zahl, die kleiner als ihr Vorgänger ist, ist ein neuer Start eines Tupels
n1 = Numbers([1, 2, 3, 4, 5, 6]) n1 = Numbers([1, 2, 3, 4, 5, 6])
self.assertEqual(n1.getNumTuples(), 6) self.assertEqual(n1.getNumTuples(), 6)
self.assertEqual(n1.getTuples(3), [1, 2, 3]) self.assertEqual(n1.getTuples(1), [6])
self.assertEqual(n1.getTuples(2), [5, 6])
self.assertEqual(n1.getTuples(3), [4, 5, 6])
# das ist ein Tupel
n2 = Numbers([3, 3, 3]) n2 = Numbers([3, 3, 3])
self.assertEqual(n2.getNumTuples(), 1) self.assertEqual(n2.getNumTuples(), 1)
self.assertEqual(n2.getTuples(1), [3, 3, 3]) self.assertEqual(n2.getTuples(1), [3, 3, 3])
n3 = Numbers([3, 2, 1]) # nur ein Tupel drin n3 = Numbers([3, 2, 1]) # nur ein Tupel drin
self.assertEqual(n3.getNumTuples(), 1) self.assertEqual(n3.getNumTuples(), 1)
self.assertEqual(n3.getTuples(2), [3, 2, 1]) self.assertEqual(n3.getTuples(1), [3, 2, 1])
# n4 = Numbers([1, 10, 1, 10]) n4 = Numbers([1, 10, 1, 10])
# self.assertEqual(n4.getNumTuples(), 2) self.assertEqual(n4.getNumTuples(), 2)
# self.assertEqual(n4.getTuples(1), [1]) self.assertEqual(n4.getTuples(1), [10])
# self.assertEqual(n4.getTuples(2), [10, 1, 10, 1]) self.assertEqual(n4.getTuples(2), [1, 10, 1, 10])
n5 = Numbers([30, 2, 1, 10, 5, 4, 16]) n5 = Numbers([30, 2, 1, 10, 5, 4, 16])
self.assertEqual(n5.getNumTuples(), 3) self.assertEqual(n5.getNumTuples(), 3)
@@ -300,13 +303,13 @@ class TestObjectMethods(unittest.TestCase):
self.assertEqual(k5.isEmpty(), False) self.assertEqual(k5.isEmpty(), False)
self.assertEqual(k5.getSmallestItem(), 1) self.assertEqual(k5.getSmallestItem(), 1)
# k6 = Roundabout() k6 = Roundabout()
# self.assertEqual(k6.isEmpty(), True) self.assertEqual(k6.isEmpty(), True)
# k6.addList([1, 2, 3, 4, 5, 6]) k6.addList([1, 2, 3, 4, 5, 6])
# self.assertEqual(k6.content(), [6, 5, 4, 3, 2, 1]) self.assertEqual(k6.content(), [6, 5, 4, 3, 2, 1])
# self.assertEqual(k6.getNumTuples(), 6) self.assertEqual(k6.getNumTuples(), 6)
# self.assertEqual(k6.getTuples(3), [1, 2, 3]) self.assertEqual(k6.getTuples(3), [1, 2, 3])
def test_switch(self): def test_switch(self):