# 3 positional arguments but 4 were given [closed]

``````salary = []
names = []

def swap( A, x, y):
tmp = A[x]
tmp2 = E[x]
A[x] = A[y]
E[x] = E[y]
A[y] = tmp
E[y] = tmp2
``````

Here I created a function to input two parallel arrays, which I use later to sort a list of salaries and 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("Program was expecting a positive integer or floating point number!")
import sys
sys.exit()
if nameIn == "*":
done = True
else:
salary.append(salaryIn)
names.append(nameIn)
return names, salary

floatInput()
print(names, salary)
``````

Here is where I created a function to use bubble sorting on my two parallel arrays.

``````def bubblesort( A, E ):
for i in range( len( A ) ):
for k in range( len( A ) - 1):
first = k
second = k + 1

if ( A[first] > A[second] ):
``````

This is where I am getting my error that there are only 3 positional arguments but 4 were given.

``````            swap( A, first, second, E )

print( A )
temp = input("Hit Enter for the next stenp:/n")

bubblesort(names, salary)

print(names, salary)
``````

by (13.6m points)

try to extend like:

``````def swap(A, x, y, E):
``````
``````def swap( A, x, y):
``````def swap( A, x, y, E):