Python :: Aufgabe #299
3 Lösungen

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ß
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:

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

#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.""")

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))