2016-04-09 39 views
1
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 

ここでは、後で給与と名前のリストをソートするために使用する2つの並列配列を入力する関数を作成しました。私は二つの平行な配列のソート、バブルを使用する関数を作成したのはここ3つの位置引数が与えられましたが、4が与えられました

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) 

です。

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]): 

これは、3つの位置的な引数がありますが、4つが与えられたという私のエラーが発生しています。

def swap(A, x, y, E): 
+1

? –

+0

申し訳ありませんが、スワップも含めて編集しました –

+1

'swap'で3つの引数を取るように定義しました - ' def swap(A、x、y): '、そしてそれ以降は4を渡しました。' swap(A、first、second 、E) ' –

答えて

1

は次のように拡張しよう。私はあなたが意味を推測するところは

def swap(A, x, y): 

を読み:あなたは `swap`を定義します

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

あなたのスワップの定義は、二番目の配列引数が欠落しているようだ:

  swap(A, first, second, E) 

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


bubblesort(names, salary) 

print(names, salary) 
関連する問題