====== LU09.A03 - Erweiterte Aufgaben ====== Wenden Sie ihr Wissen über mehrere Rückgabewerte und Default-Werte an um folgende Aufgaben zu lösen. ===== 1. Mehrere Return-Werte ===== Erstellen Sie eine Funktion welche für eine Ganzzahldivision folgende Werte zurückliefert: * Das Resultat der Ganzzahldivision * Den Rest aus der Ganzzahldivision Beispiel der Resultate bei der Division ''34/6'': * Resultat: ''5'' * Rest: ''4'' Beispiel der Resultate bei der Division ''50/5'': * Resultat: ''10'' * Rest: ''0'' def div(dividend, divisor): """ TODO """ return #TODO def main(): result, rest = div(34,6) print(#TODO) if __name__ == '__main__': main() Eine Division durch ''0'' soll eine Fehlermeldung ausgeben und ''None'' zurückgeben. ===== 2. Längenumrechner ===== === 1. Code ausführen und verstehen === Führen Sie folgenden Code aus und versuchen Sie ihn zu verstehen. def convert(length, from_unit, to_unit): """ Converts lengths. The following lengths can be converted: meters, miles, nautical miles, yards, inches :length: length to convert :from_unit: 1=Meter, 2=Meilen, 3=Seemeilen, 4=Yard, 5=Inches :to_unit: 1=Meter, 2=Meilen, 3=Seemeilen, 4=Yard, 5=Inches :return: converted length """ if (from_unit == 1): result = length elif (from_unit == 2): result = length * 1609.34 elif (from_unit == 3): result = length * 1852.0 elif (from_unit == 4): result = length * 0.9144 elif (from_unit == 5): result = length * 0.0254 if (to_unit == 1): return result if (to_unit == 2): result = result / 1609.34 return result if (to_unit == 3): result = result / 1852.0 return result if (to_unit == 4): result = result / 0.9144 return result if (to_unit == 5): result = result / 0.0254 return result def main(): print("1=Meter, 2=Meilen, 3=Seemeilen, 4=Yard, 5=Inches") print(convert(1,1,4)) if __name__ == '__main__': main() === 2. Code anpassen === Passen Sie den Code so an, dass die Standardumrechnung immer von ''Meter'' in ''Meilen'' geschieht. Andere Umrechnungen aber immernoch möglich sind: print(convert(1000)) 0.6213727366498067 print(convert(1000, 1, 4)) 1093.6132983377079 print(convert(1, to_unit = 5)) 39.37007874015748 === 3. Erweiterung === Machen Sie es möglich, dass nicht mehr nur Zahlen sondern **Zahlen und Texte** für die Umrechnung eingegeben werden können. print(convert(1, to_unit = 'Inches')) 39.37007874015748 ----
//=> GitHub Repo für externe Besucher// GitHub Repository https://github.com/templates-python/m319-lu09-a03-advanced-functions //Lernende am BZZ müssen den Link zum GitHub Classroom Assignment verwenden//
{{tag>M319-LU09}} [[https://creativecommons.org/licenses/by-nc-sa/4.0/ch/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] (c) Marcel Suter, Kevin Maurizi Diese Aufgabe ist eine übersetzte und angepasste Aufgabe von [[https://scott3142.uk/|Scott Morgan]], verwendet unter CC BY NC SA.