2016-10-30 7 views
-2

Ich bin in der Intro-Programmierklasse und ich habe gerade angefangen, die Schleifen zu lernen. Meine Frage fragt nach dem Durchschnittswert der Eingaben und es soll mit while-Schleifen gemacht werden. Wenn die Benutzereingaben anstelle einer Zahl eingeben, bedeutet dies das Ende der Schleife und berechnet den Durchschnittswert. Das Programm sollte den Durchschnittswert drucken und zurückgeben. Wenn der Benutzer keine Nummer eingibt und die Eingaben direkt eingeben, sollte das Programm "Keine Zahlen wurden eingegeben" drucken. Ich habe versucht, die Schleife zu erstellen, aber ich weiß nicht, was mir fehlt, damit meine Schleife läuft. Auch ich darf nicht alle eingebauten Funktionen wie Summe verwenden, ave, usw.Durchschnittswert der Eingänge in Python

Hier ist der Code, den ich bisher geschrieben habe

def avgOfTheSum(): 
    total = 0 
    avg = 0 
    count = 0 
    while True: 
     number = input("Enter next number:") 
     if number != 'end': 
      num = float(number) 
      total = total + num 
      count = count + 1 
      average = total/count 
     else: 
      print("The Average is:",average) 
      break 
    return average 
+0

Bitte teilen Sie Ihren Code bis jetzt – Mureinik

+1

Ich schätze, Sie dürfen auch nicht für andere Leute bitten, Ihre Hausaufgaben für Sie zu tun, wie Sie hier fragen. Wir schreiben keinen Code für Leute. Lesen Sie [this] (http://meta.softwareengineering.stackexchange.com/questions/6166/open-letter-to-students-with-homework-problems?newreg=1216e0ad88d74ebbab12ba8299cc7e3c). –

+0

Sie sollten Ihren Code veröffentlichen. – Statham

Antwort

1

ein paar Tipps von mir nicht so erfahrenen Sicht:

wenn Sie eine Variable erhöhen, z. 'total = total + num', können Sie dies auf eine kompaktere Weise tun: Verwenden Sie 'total + = num', was genau dasselbe tut und Ihren Code aufhellt. Manche Leute finden es jedoch hässlich, also benutze es, wenn du willst.

Sie haben zuerst eine Variable mit dem Namen 'avg' deklariert, später verwenden Sie dann 'average', was zu einem Fehler beim Ausdrucken von 'durchschnittlich' führt, da die erste 'if' Anweisung umgangen wurde. Sie sollten eine Benennung für den Durchschnitt verwenden. Entweder 'avg' oder 'average' ist in Ordnung, aber denken Sie daran, dass Ihr Code leicht verständlich sein muss. Versuchen Sie also nicht, Dinge zu sehr zu quetschen, besonders wenn jemand es überprüft, wenn Sie fertig sind. Verwenden Sie einen Namen und bleiben Sie dabei. Auf diese Weise haben Sie keinen Fehler, wenn der Benutzer etwas eingibt, das nicht von Ihrem Code verarbeitet wird.

Sie könnten sichere Netze hinzufügen, um sicherzustellen, dass der Benutzer eine Zahl übergibt, aber die einfachsten Methoden müssen Python-Einbauten verwenden.

Man könnte hinzufügen, so etwas wie (nicht Python nicht schreiben es wie so)
wenn count = 0 dann drucken ‚keine Zahlen eingegeben‘
dann entweder:
Pause, wenn Sie die Anwendung
beenden möchten oder übergeben, wenn Sie den Benutzer zwingen möchten, eine Nummer einzugeben (neue Schleife erzwingen)

Ich hoffe, es hat Ihnen ein wenig geholfen!

Verwandte Themen