2016-08-12 87 views
-2

我運行在Python 3.5這個代碼,但我有一個錯誤,當我有關python 2運行沒有錯誤Python 3中列出陣列

import sys 

class Array(object): 
    def __init__(self, arr=[]): 
     self.data = arr 
    def salin(self): 
     temp = Array(self.data) 
     return temp 
    def tambah(self, nilai): 
     if self.data.count>0: 
      if type(self.data[0])==type(nilai): 
       self.data.append(nilai) 
      else: 
       print('Nilai yang ditambahkan harus sejenis') 
       sys.exit(1) 
    def ubah(self,indeks,nilai): 
     self.data[indeks]=nilai 
    def hapus(self,nilai): 
     self.data.remove(nilai) 
    def cari(self, nilai): 
     return self.data.index(nilai) 
    def urutkan(self): 
     self.data.sort() 
    def ekstrak(self,awal,akhir): 
     temp = Array(self.data[awal:akhir]) 
     return temp 
    def cetak(self): 
     for nilai in self.data: 
      print(nilai, end=' ') 

     print() 


def main(): 
    A = Array([10,20,30,40,50]) 

    #menampilkan nilai awal 
    print('Isi A mula-mula: ',end=' ') 
    A.cetak() 

    #mengubah element ketiga 
    A.ubah(2, 63) 

    #menghapus nilai 40 
    A.hapus(40) 


    #menambah element 
    A.tambah(70) 
    A.tambah(15) 

    #menampilkan isi nilai setelah diubah, 
    #dihapus, dan ditambah 
    print('Isi A setelah dimanipulasi: ',end=' ') 
    A.cetak() 

    B = A.ekstrak(1,4) 
    print('Isi B (hasil Ekstrak): ', end='') 
    B.cetak() 

    C=A.salin() 
    print('Isi C(salinan A): ',end='') 
    C.cetak() 

    C.tambah(45.25) # menabah nilai bertipe float 

if __name__=='__main__': 
    main() 
+2

「我有一個錯誤」不足以幫助我們解決問題。 – user2357112

+1

你有問題嗎? (self.data [0])==類型(nilai): self.data.append(nilai) else:'如果self.data.count> 0: 請運行代碼: –

+1

請添加回溯 –

回答

2

print不是在Python語法上2的函數,這是不正確

print('message', end=' ') 

如果你想使用print作爲一個函數在兩個Python 2和3,只是將其導入

from __future__ import print_function 

並將self.data.count替換爲len(self.data)

+0

感謝gus,但錯誤未列印, –

+0

'if self.data.count> 0:' –

+0

'TypeError:無法訂購的類型:builtin_function_or_method( )> int()' –