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()
if self.isEmpty():
return res
lastItem = self._content[0]
lastItem = self._content[-1]
numTuples = 1
for e in self._content:
if e > lastItem:
for e in reversed(self._content):
if e < lastItem:
numTuples += 1
lastItem = e
if numTuples <= toGet:
res.append(e)
res.insert(0, e)
else:
break
return res
@@ -242,23 +242,26 @@ class TestObjectMethods(unittest.TestCase):
def test_order(self):
# 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])
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])
self.assertEqual(n2.getNumTuples(), 1)
self.assertEqual(n2.getTuples(1), [3, 3, 3])
n3 = Numbers([3, 2, 1]) # nur ein Tupel drin
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])
# self.assertEqual(n4.getNumTuples(), 2)
# self.assertEqual(n4.getTuples(1), [1])
# self.assertEqual(n4.getTuples(2), [10, 1, 10, 1])
n4 = Numbers([1, 10, 1, 10])
self.assertEqual(n4.getNumTuples(), 2)
self.assertEqual(n4.getTuples(1), [10])
self.assertEqual(n4.getTuples(2), [1, 10, 1, 10])
n5 = Numbers([30, 2, 1, 10, 5, 4, 16])
self.assertEqual(n5.getNumTuples(), 3)
@@ -300,13 +303,13 @@ class TestObjectMethods(unittest.TestCase):
self.assertEqual(k5.isEmpty(), False)
self.assertEqual(k5.getSmallestItem(), 1)
# k6 = Roundabout()
# self.assertEqual(k6.isEmpty(), True)
# k6.addList([1, 2, 3, 4, 5, 6])
# self.assertEqual(k6.content(), [6, 5, 4, 3, 2, 1])
k6 = Roundabout()
self.assertEqual(k6.isEmpty(), True)
k6.addList([1, 2, 3, 4, 5, 6])
self.assertEqual(k6.content(), [6, 5, 4, 3, 2, 1])
# self.assertEqual(k6.getNumTuples(), 6)
# self.assertEqual(k6.getTuples(3), [1, 2, 3])
self.assertEqual(k6.getNumTuples(), 6)
self.assertEqual(k6.getTuples(3), [1, 2, 3])
def test_switch(self):