Python :: Aufgabe #299

3 Lösungen Lösungen öffentlich

Mobilfunkanbieter (Monatsabrechnung)

Anfänger - Python von JKooP - 07.11.2020 um 09:42 Uhr
Ein Mobilfunkanbieter stellt folgende Pakete zur Verfügung:

Paket-Typ....Basispreis....Freiminuten....Minutenpreis
P_Basis........2,95€..............0...................0,10€
P_100..........3.95€.............100................0,12€
P_300..........7,95€.............300................0,15€
P_600..........12,95€...........600................0,20€
P_Flat..........29,95€...........unbegrenzt.....0,00€

Schreibe eine Funktion/Methode, bei der sowohl der Paket-Typ als auch die telefonierten Minuten übergeben werden.
Als Ergebnis soll der Gesamtpreis inklusive Basispreis für den Monat ausgegeben werden.

Viel Spaß


Lösungen:

vote_ok
von Chrisu90 (910 Punkte) - 09.11.2020 um 16:00 Uhr
Quellcode ausblenden Python-Code
print('#### Mobilfunk Kostenabfrage ####')

def packet():
    print('\nBasis Paket --- Wähle "1"')
    print('P100 --- Wähle "2"')
    print('P300 --- Wähle "3"')
    print('P600 --- Wähle "4"')
    print('Flat Paket --- Wähle "5"')
    print('Programm Beenden --- Drücke "#"')

while True:
    packet()
    auswahl = input('\nWähle ein Paket: ')
    minuten = float(input('Verbrauchte Minuten: '))

    if auswahl == '1':
        gesamtbetrag = minuten * 0.10 + 2.95
        print('Davon Frei: 0\n\nZu zahlender Betrag: ', gesamtbetrag, '€')
        break
    elif auswahl == '2':
        gesamtbetrag = (minuten - 100) * 0.12 + 3.95
        print('Davon Frei: 100\n\nZu zahlender Betrag: ', gesamtbetrag, '€')
        break
    elif auswahl == '3':
        gesamtbetrag = (minuten - 300) * 0.15 + 7.95
        print('Davon Frei: 300\n\nZu zahlender Betrag: ', gesamtbetrag, '€')
        break
    elif auswahl == '4':
        gesamtbetrag = (minuten - 600) * 0.20 + 12.95
        print('Davon Frei: 600\n\nZu zahlender Betrag: ', gesamtbetrag, '€')
        break
    elif auswahl == '5':
        basispreis = 29.95
        print('Davon Frei: Unbegrenzt\n\nZu zahlender Betrag: ', basispreis, '€')
        break
    elif auswahl == '#':
        break
vote_ok
von Willi (210 Punkte) - 12.11.2020 um 11:10 Uhr
Quellcode ausblenden Python-Code
#Mobilfunkanbieter #299
for i in range(1,10):

    minuten = int(input("Bitte geben Sie die Anzahl der Gesprächsminuten pro Monat als positive ganze Zahl ein:"))
    paket = float(input("""Bitte geben sie einen Basispaketpreis pro Monat in € laut Liste ein:

                            2.95 € und 0   Freiminuten   P_Basis
                            3.95 € und 100 Freiminuten   P_100
                            7.95 € und 300 Freiminuten   P_300
                           12.95 € und 600 Freiminuten   P_600
                           29.95 € unbegrenzt            P_Flat

                           der gewählte Basispaketpreis in € lautet:"""))

    if paket == 2.95 and minuten > 0:
       p_basis = 2.95+(minuten*0.10)
       print("Der P Basispreis für:", minuten,"Minuten beträgt:",p_basis,"€")
    elif paket == 3.95 and 0 < minuten > 100:
       p_100 = 3.95 + ((minuten-100)*0.12)
       print("Der P 100 für:", minuten,"Minuten beträgt:",p_100,"€")
    elif paket == 3.95 and 0 < minuten <= 100:    
       p100 = 3.95
       print("Der P 100 für:", minuten,"Minuten beträgt:",p100,"€")    
    elif paket == 7.95 and minuten > 300:
       p_300 = 7.95+((minuten-300)*0.15)
       print("Der P 300 für:", minuten,"Minuten beträgt:",p_300,"€")
    elif paket == 7.95 and minuten <= 300:
       p300 = 7.95
       print("Der P 300 für:", minuten,"Minuten beträgt:",p300,"€")
    elif paket == 12.95 and minuten > 600:
       p_600 = 12.95+((minuten- 600)*0.20)
       print("Der P 600 für:", minuten,"Minuten beträgt:",p_600,"€")
    elif paket == 12.95 and minuten <= 600:
       p600 = 12.95
       print("Der P 600 für:", minuten,"Minuten beträgt:",p600,"€")
    elif paket == 29.95 and minuten >= 0:
       pFlat = 29.95
       print("Der P_Flatpreis für:", minuten,"Minuten beträgt:29.95 €")
    else:
       print("""Falsche Eingabe. Basispaketpreise nur laut Liste wählen.
                 Gesprächsminuten müssen positiv sein.""")
vote_ok
von Klaus (1960 Punkte) - 02.12.2020 um 09:48 Uhr
Quellcode ausblenden Python-Code
DATEN = {
    'P_Basis': [2.95, 0, 0.1],
    'P_100' : [3.95, 100, 0.12],
    'P_300' : [7.95, 300, 0.15],
    'P_600' : [12.95, 600, 0.20],
    'P_Flat' : [29.95, 9999999, 0.0]
}

def berechne(paket, minuten):
    basispreis, freiminuten, minutenpreis = DATEN[paket]
    return basispreis + max(minuten-freiminuten, 0) * minutenpreis

print(berechne('P_Basis', 50))
print(berechne('P_100', 50))
print(berechne('P_300', 400))
print(berechne('P_600', 1000))
print(berechne('P_Flat', 1000))
2049449

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.