Demo 2023-12-20: while; random#
Dieses Notebook:
Strukturierungselement
while
, siehe while-loopsKennenlernen der Bibliothek https://docs.python.org/3/library/random.html
printe zahlen von 2 bis 4
n = 2
while n < 5:
print(n)
n += 1
2
3
4
gegeben: eine Liste von Zahlen, z.B.
l = [ 3, 1, 5, 2, -1, -3]
gesucht: zwei Listen … von denen die l1
kleiner ist als l2
Lösung: Wähle zufällig ein beliebiges Element aus der Liste l
aus, z.B. die 1
.
import random as rd
position = rd.randint( 0, len(l)-1 )
pivot_element = l[position]
f"{position=}: {pivot_element=}"
'position=3: pivot_element=2'
l1 = []
l2 = []
for element in l:
print(f"{element=}, {element < pivot_element}")
if element < pivot_element:
l1.append(element)
else:
l2.append(element)
element=3, False
element=1, True
element=5, False
element=2, False
element=-1, True
element=-3, True
l1, l2
([1, -1, -3], [3, 5, 2])
([-3], [1, -1], [2], [3, 5])
([-3], [1, -1], [2], [3, 5])
([-3], [-1], [1], [2], [3], [5])
([-3], [-1], [1], [2], [3], [5])