drucken Ich bin ein absoluter Anfänger zu Python und bin damit beauftragt, ein Programm zu schaffen, die ein paar Dinge tut:Python-Schleife Gehälter innerhalb der Reichweite des durchschnittlichen
- Eingänge Mitarbeiternamen in eine Liste.
- Gibt das Gehalt des Mitarbeiters nach der Eingabe seines Namens ein.
- Summiert die Gehälter in einer Liste, (2 Listen: Namen [] und Gehälter []).
- Findet das durchschnittliche Gehalt nach der Summierung.
- Druckt Mitarbeiter, die innerhalb von 5.000 US-Dollar des Durchschnittslohns verdienen (wo ich feststecke). siehe
Bitte meinen Code unten:
# function to total the salaries entered into the "newSalary" variable and "salaries[]".
def totalSalaries(salaries):
total = 0
for i in salaries:
total += i
return total
# Finds the average salary after adding and dividing salaries in "salaries[]".
def averageSalaries(salaries):
l = len(salaries)
t = totalSalaries(salaries)
ave = t/l
return ave
# Start main
def main():
# Empty names list for "name" variable.
names = []
# Empty salaries list for "salary" and "newSalary" variables.
salaries = []
# Starts the loop to input names and salaries.
done = False
while not done:
name = input("Please enter the employee name or * to finish: ")
salary = float(input("Please enter the salary in thousands for " + name + ": "))
# Try/except to catch exceptions if a float isn't entered.
# The float entered then gets converted to thousands if it is a float.
try:
s = float(salary)
# Message to user if a float isn't entered.
except:
print("Please enter a valid float number.")
done = False
newSalary = salary * 1000
# Break in the loop, use * to finish inputting Names and Salaries.
if name == "*":
done = True
# Appends the names into name[] and salaries into salaries[] if * isn't entered.
# Restarts loop afterwards if * is not entered.
else:
names.append(name)
salaries.append(newSalary)
# STUCK HERE. Need to output Names + their salaries if it's $5,000 +- the total average salary.
for i in range(len(salaries)):
if newSalary is 5000 > ave < 5000:
print(name + ", " + str(newSalary))
# Quick prints just to check my numbers after finishing with *.
print(totalSalaries(salaries))
print(averageSalaries(salaries))
main()
Jede Info wird sehr geschätzt. Ich hoffe, dass der Rest der Funktionen und Logik in diesem Programm sinnvoll ist.
Es gibt viele Fehler hier. Zu Beginn müssen Sie den Rückgabewert von averageSalaries irgendwo speichern, wenn Sie ihn außerhalb dieser Funktion verwenden möchten. –
Das ist eine Menge Code. Sie können [die Tour] (http://stackoverflow.com/tour) zuerst und lernen [Wie man eine gute Frage stellt] (http://stackoverflow.com/help/how-to-ask) und erstellen Sie eine [ Minimal, vollständig und verifizierbar] (http://stackoverflow.com/help/mcve) Beispiel. Das erleichtert es uns, Ihnen zu helfen. –