Python :: Aufgabe #75

3 Lösungen Lösungen öffentlich

The Copper Coins Nr.2

Fortgeschrittener - Python von SymTech - 12.03.2015 um 16:22 Uhr
Zur ersten Aufgabe: The Copper Coins Nr.1

Erstelle nun ein Programm, dass die summe alle möglichen Kombinationen ausgibt.

Konsolenausgabe:


Betrag in Cent: 5
Es gibt genau 4 mögliche Kombinationen um mit Kupfermünzen zu bezahlen.

Lösungen:

vote_ok
von _Mala_Fide_ (820 Punkte) - 23.04.2015 um 22:19 Uhr
Quellcode ausblenden Python-Code
#!/usr/bin/python

eingabe = input("Betrag in Cent:\t")

counter = 1
test_2 = eingabe
test_5 = eingabe

while test_2 > 1:
	test_2 -= 2
	counter += 1

while test_5 > 4:
	test_5 -= 5
	test_2_5 = test_5
	while test_2_5 > 1:
		test_2_5 -= 2
		counter += 1
	counter += 1

print "Es gibt genau", counter, "moegliche Kombinationen um mit Kupfermuenzen zu bezahlen."
1 Kommentar
vote_ok
von Exci (250 Punkte) - 18.05.2015 um 17:12 Uhr
Quellcode ausblenden Python-Code
##CoperCoins##

betrag = int(input('Betrag(in Cent):', ))

if betrag // 5 >= 1:
    anzahl5 = betrag//5
    betrag = betrag%5
else:
    anzahl5 = 0

if betrag //2 >=1:
    anzahl2 = betrag//2
    betrag = betrag%2
else:
    anzahl2 = 0


anzahl1 = betrag // 1
betrag = betrag %1




moeglichkeiten = 1
print('Moeglichkeit',moeglichkeiten)
print(anzahl5)
print(anzahl2)
print(anzahl1)



#Sonderbedingung die der Algorithmus nicht ergreift

if anzahl5 == 1 and anzahl2 !=0 and anzahl1 !=0:
    moeglichkeiten += 1
    print('Moeglichkeit',moeglichkeiten)
    print(1)
    print(0)
    print(anzahl1+(anzahl2*2))


#print('5Cent',anzahl5)
#print('2Cent',anzahl2)
#print('1Cent',anzahl1)

################################################################################

while True:
        
    if anzahl5 >0:
        moeglichkeiten += 1
        anzahl5 -= 1
        anzahl2 += 2
        anzahl1 += 1
        while anzahl1 > 1:
            anzahl2 += 1
            anzahl1 -= 2
        print('Moeglichkeit',moeglichkeiten)
        print(anzahl5)
        print(anzahl2)
        print(anzahl1)

        print('')

    while anzahl2 > 0:
        moeglichkeiten +=1
        anzahl2 -= 1
        anzahl1 += 2
        print('Moeglichkeit',moeglichkeiten)
        print(anzahl5)
        print(anzahl2)
        print(anzahl1)


    
    if anzahl5 == 0 and anzahl2 == 0:
        break
    


vote_ok
von Exci (250 Punkte) - 18.05.2015 um 21:28 Uhr
Quellcode ausblenden Python-Code
##CoperCoins##

betrag = int(input('Betrag(in Cent):', ))

if betrag // 5 >= 1:
    anzahl5 = betrag//5
    betrag = betrag%5
else:
    anzahl5 = 0

if betrag //2 >=1:
    anzahl2 = betrag//2
    betrag = betrag%2
else:
    anzahl2 = 0

anzahl1 = betrag // 1



moeglichkeiten = 1



#Sonderbedingungen die der Algorithmus nicht ergreift

if anzahl5 == 1 and anzahl2 !=0:
    moeglichkeiten += 1
    
   

if anzahl5 > 0 and anzahl2 >0:
    if anzahl5 > 1 and anzahl2 > 1:
        moeglichkeiten += 2

    elif anzahl5 >1 and anzahl2 <2:
        moeglichkeiten +=1

    elif anzahl5 <2 and anzahl2 >1:
        moeglichkeiten += 1




#Algorithmus#####################################################################

while True:
    if anzahl5 >0:
        moeglichkeiten += 1
        anzahl5 -= 1
        anzahl2 += 2
        anzahl1 += 1
        while anzahl1 > 1:
            anzahl2 += 1
            anzahl1 -= 2
        
    while anzahl2 > 0:
        moeglichkeiten +=1
        anzahl2 -= 1
        anzahl1 += 2
       
    if anzahl5 == 0 and anzahl2 == 0:
        break
    


print ("Es gibt genau", moeglichkeiten, "moegliche Kombinationen um mit Kupfermuenzen zu bezahlen.")