Bei k = Zweierpotenz
ist medium's Vorschlag nur eine Code-/Laufzeitoptimierung,
verändert aber am rechnerischen Ergebnis nicht.
Ja, ich weiß.
Ist aber unerheblich, da k keine Zweierpotenz sein muss.
Eventuell kannst du auch auf eine MulDiv-Funktion zurückgreifen, um die Berechnung von * und DIV zusammenzufassen.
Mir ist keine derartige Funktion in Python bekannt. Macht aber auch nichts, der Zeitaufwand fällt hier kaum ins Gewicht.
Liebe Grüße,
Valentin