2016-03-25 11 views
0

Dies ist das Modul anzuzeigen, die Eingabe wird ein zweidimensionales Array Mitarbeiternamen enthalten, und ihre entsprechenden GehälterSyntaxfehler beim Versuch, Benutzer inputed Gehälter im Bereich des mittleren

salary = [] 
names = [] 

def floatInput(): 
    done = False 
    while not done: 
     nameIn = input("Please enter the employee name or * to finish: ") 
     salaryIn = input("Please enter the salary in thousands for " + nameIn + ": ") 
     try: 
      salaryIn = float(salaryIn) 
     except: 
      print("I was expecting a positive floating point number!") 
     if nameIn == "*": 
      done = True 
     else: 
      salary.append(salaryIn) 
      names.append(nameIn) 
     return salaryIn 
     return nameIn 

floatInput() 

ich hier eine Verwendung für Schleife um die Liste der Namen und Gehälter zu drucken und zu durchlaufen.

for i in range(len(names)): 
    print(names[i] + ", " + str(salary[i])) 

Hier finde ich den Mittelwert der Gehälter.

def salaryMean(): 
    mean = sum(salary)/float(len(salary)) 
    print("The mean of the salaries is: " + str(mean)) 
    return mean 

salaryMean() 

Hier wandle ich das Gehalt in Tausende um.

for i in range(len(names)): 
    salary = salary[i] * 1000 

Hier zeige ich alle Mitarbeiter, die in einem Bereich von $ 5.000 aus dem Mittelwert Diese verdienen, wo ich bin einen Syntaxfehler zu bekommen. Bitte helfen Sie.

def displayNames(): 
    done = False 
    x = 0 
    while not done: 
     if salary[x] >= (mean - 5000) and salary[x] <= (mean + 5000) 
     print(salary[x]) 
     x += 1 
     if x > len(salary) 
     done = True 

displayNames() 
+2

Sie verpassen Doppelpunkte (sowie Einbuchtung auf der Linie nach) am Ende der if Blöcke – Bahrom

+1

Ja, und einrücken die folgenden Zeilen, die Sie möchten, Bedingte Ausführung innerhalb des if-Blocks – Imran

+0

Vielen Dank für die Hilfe Leute. –

Antwort

0

Versuchen Sie folgendes:

def displayNames(): 
    done = False 
    x = 0 
    while not done: 
     if done: 
      break 
     if salary[x] >= (mean - 5000) and salary[x] <= (mean + 5000): 
      print(salary[x]) 
     x += 1 
     if x > len(salary): 
      done = True 

displayNames() 
+1

Danke, das behebt dieses Problem. –

Verwandte Themen