2016-03-25 13 views
-1

Bunların çoğunu burada okudum ama kafa yapamıyorum ya da kuyruğunu atamam, özür dilerim zaman kaybı gibi görünüyor ama deniyorum.TypeError: 'int' nesnesini dolaylı olarak str'ye dönüştüremezsiniz, ancak başkalarının nasıl olduğunu düşünemiyorum.

Knuth-Morris-Pratt algoritmasını uygulamaya çalışıyorum ve şu anda hata tablosunu uygulamaya çalışıyorum. J ve i değişkenlerini, 1 ve 1'lik adımlara böldüğüm uzunluğa dizmek için mücadele ediyorum. J ve i dizgisinin bir sonraki bölümüne atandığımda bir hata almaya devam ediyorum.

j + 1 
i + 1 

Bana hata veren şey nedir, ancak bunun nasıl farklı bir şekilde yapılacağından emin değilim. ben onun muhtemelen bir karmaşa biliyorum ama nasıl tamamen emin değilim bu herhangi bir yardım

n = fileContents 
m = random_item 
myList = [0] 
j = m[0] 
i = m[1] 
global failTable 


splitted = m.split() 
step = 1 
[m[i:i+step] for i in range(0, len(m), step)] 

class myList: 
    def __init__(self,m): 
     self.pattern = myList 
class myList: 
    def __init__(self, pattern): 
     myList.__init__(self.m) 

     print(self.m) 
    for i in range(len(m)): 
     if [j == i]: 
      j + 1 
      i + 1 
      [myList.append([j + 1])] 
     elif [j != i]: 
      if [i < m(len)]: 
       i + 1 
      elif [j < 1]: 
       [myList.append([j])] 
      elif[j >= 1]: 
       [myList.append([myList - 1])] 
      elif[i == m(len)]: 
       [myList.append([myList - 1])] 
     elif [i == m(len) and j == 0 and j != 0]: 
      break 

mutluluk duyacağız son derece muğlak ise özür dilemek ile

Ben bu oyunu ve been uzun bir gün yeniyim kodlamak için. Ne yapması gerektiğine dair bir yöntem anlıyorum ama nasıl kodlanacağını değil.

Yine, çok teşekkürler ve Sen tanımsız bir int, bir dize eklemeye çalıştığınız karmaşa

+1

Daha uzun bir snippet yayınlayabilir misiniz? – Bahrom

+0

@BAH Bununla ilgili biraz utanıyorum çünkü ne yaptığımı bilmiyorum ama bunu koyacağım – Woody

+0

Gerçekten de bazı kısa snippet;). Hata size bir ipucu verir: bir tam sayıyı bir dizgeye dönüştürmeye çalışır. 'J' olması gereken ve j + 1 'in ne yapması gerekiyor? – ldirer

cevap

1

için üzgün.

Dizelerinizi i ve j olarak çağırıyorsunuz, bu yüzden tamsayı olmalarını amaçlıyorsunuz. Kodunuzu değiştirin, böylece durum böyle.

Ayrıca bir python öğreticisi ile başlamanızı öneririm. Bu size çok zaman kazandıracak.

if [ i == j ]: 

gibi özellikle, görme şeyler

bana endişe vericidir ve ben size niyetinde ne kod yok düşünüyorum. Bence demek istediniz:

if i == j: 
+0

Geri bildirim için teşekkür ederiz @DevShark Teşekkür ederim – Woody

+0

Sorun değil, yardımcı olmaktan mutluluk! Python harika bir dil, öğrenmekten ve kullanmanın tadını çıkaracaksın. – DevShark

İlgili konular