Wenden Sie ihr Wissen über mehrere Rückgabewerte und Default-Werte an um folgende Aufgaben zu lösen.
Erstellen Sie eine Funktion welche für eine Ganzzahldivision folgende Werte zurückliefert:
Beispiel der Resultate bei der Division 34/6
:
5
4
Beispiel der Resultate bei der Division 50/5
:
10
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.
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()
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
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 Repository https://github.com/templates-python/m319-lu09-a03-advanced-functions
Lernende am BZZ müssen den Link zum GitHub Classroom Assignment verwenden
Diese Aufgabe ist eine übersetzte und angepasste Aufgabe von Scott Morgan, verwendet unter CC BY NC SA.