2016-08-12 3 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

У вас есть вопросы? –

+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: unorderable types: builtin_function_or_method ()> int() ' –

Смежные вопросы