Solltest vielleicht irgendwo etwas anpinnen... mit irgendwas, was in's Auge springt. Oder in "VOR DEM POSTEN LESEN" diese Sachen zur Sprache bringen oder das Wiki zumindest erwähnen.Leonidas hat geschrieben:Und die Idee ist immer noch genauso blöd wie das letzte mal wo sie jemand vorgeschlagen hat.rotalever hat geschrieben:Eine andere Möglichkeit ist auch immer ans Ende des Programms folgendes zu schreiben
Leute, bitte vergesst diese Möglichkeit - sie ist schlicht und einfach unbrauchbar. Wenn ihr unbedingt Konsolennutzer ärgern wollt, dann nutzt bitte diesen Code - der kommt wenigstens mit Exceptions zurecht, statt genau dann das Fenster zu schließen, wenn eine interessante Ausgabe kommt.
Zum Thema:
Ich versteh' nicht, wieso Informatiklehrer den Leuten immer zuerst raw_input beibringen. Sowas führt doch zwangsläufig zu solchen Fehlern. Erstmal beibringen, was 'ne Konsole is, was der Intepreter kann. Danach kann man den Leuten mal die Syntax näherbringen, am besten gleich in Kombination mit dem Intepreter. Aber nein, gleich Skripte mit raw_input anstatt Kommandozeilenparameter -_-
Eine Lösung mit Kommandozeilenparamtern und beliebig vielen Zahlen (Geht bestimmt noch 347923479mal eleganter und toller, aber das is jetzt schnell geschrieben...):
Code: Alles auswählen
#! /usr/bin/env python
# -*- coding: utf-8
import sys
if len(sys.argv) > 2:
numbers = []
for i in sys.argv[1:]:
numbers.append(float(i))
print "Durchschnittsumme: %.2f" % (sum(numbers)/len(numbers))
else:
print "Bitte geben sie 2 oder mehr Zahlen als Kommandozeilenargumente an!"
print "Verwendung: python Durchschnittssumme.py 27 48.32 15.213"
Code: Alles auswählen
#! /usr/bin/env python
# -*- coding: utf-8
import sys
def average_sum(number_list):
number_list = [float(x) for x in number_list]
return (sum(number_list)/len(number_list))
if __name__ == "__main__":
if len(sys.argv) > 2:
print "Average sum: %.2f" % (average_sum(sys.argv[1:]))
else:
print "Please enter 2 or more numbers as a argument"
print "Example:: python AverageSum.py 27 48.32 15.213"