Python - Programm das Münzen und Scheine zählt?

Hallo, ich versuche gerade ein Programm in Python zu schreiben in das man einen Betrag eingeben kann und vom Programm gesagt bekommt wie viele Euro Münzen/Scheine dafür mindestens nötig sind.

z.B. Man gibt 25€ ein und erhält als Antwort = 2 (ein 20€ Schein und ein 5€ Schein).

Die Eingabe und alles drumherum hab ich schon fertig und wenn man einen Euro Betrag eingibt wie 20€, 43€, 1700€ etc., funktioniert das Programm auch problemlos.

Nur bei manchen Cent Angaben fängt es an rumzuspinnen. So gibt das Programm bei 0.9 (also 90 Cent) ganz normale 3 Münzen/Scheine aus, aber bei anderen Cent Zahlen wie 0.3 (30 Cent) oder 0.7 (70 Cent) hängt es sich in einer endlos Schleife aus und gibt keine Antwort aus. dann hilft nur noch python neu zu starten.

Das ist Mein bisheriger Code (Nur für den Vorgang des Geldzählens):

while Betrag > 0:

    if Betrag >= 500:

        Betrag = Betrag - 500

        counter = counter +1

    elif Betrag >= 200:

        Betrag = Betrag - 200

        counter = counter +1

    elif Betrag >= 100:

        Betrag = Betrag - 100

        counter = counter +1

    elif Betrag >= 50:

        Betrag = Betrag - 50

        counter = counter +1

So geht mein Code weiter für bis hin zu 0.01, für ein Cent.

Ich weiß echt nicht warum dieser Fehler auftritt und brauche Hilfe.

Computer, Programm, programmieren, Python
Python Tkinter Punkte auf Kreis erstellen?

https://images.gutefrage.net/media/fragen/bilder/python-tkinter-punkte-auf-kreis-erstellen/0_big.jpg?v=1515952309796"/>

Ich möchte gerne Punkte auf einem Kreis erzeugen, die in immer gleichen Abständen zueinander sind und die Menge der Punkten vareabel ist. Ich nutze dafür Python und Tkinter:

Mein code dazu ist folgender:

from tkinter import *

import math

win=Tk()

win.title("Kreis")

win.geometry("1500x850")

win.configure(background="white")

leinwand = Canvas(win, width=1500, height=850, bg="white")

leinwand.place(x=100, y=100)

r1=100

p=8

wgrd= 360/float(p)

leinwand.create_oval(700-float(r1), 150-float(r1), 700+float(r1), 150+float(r1), fill="white", width=1, outline="black")

for i in range (0,int(p)):

   xp= (float(r1) * math.cos(wgrd*i))+700

   yp= (float(r1) * math.sin(wgrd*i))+150

   leinwand.create_oval(int(xp)-10, int(yp)-10, int(xp)+10, int(yp)+10, fill="red", width=1, outline="red")

Leider haben die roten Punkte bei mir nicht den gleichen Abstand und ich weiß nicht warum. Ich hoffe jmd. kann mir helfen :)

Danke im Voraus! :)

Bild zum Beitrag
Computer, Mathematik, programmieren, Geometrie, Python, GUI, Tkinter

Meistgelesene Beiträge zum Thema Python