rembo357
Artikelen: 0
Berichten: 11
Lid geworden op: ma 13 feb 2012, 20:28

Python help

hallo ben ik weer met nog een klein probleempje

ik probeer dit:

Code: Selecteer alles

def omkeeren (a):

	bieb = {' ':' ','a':'1.', 'b':'2.', 'c':'3.', 'd':'4.', 'e':'5.', 'f':'6.', 'g':'7.', 'h':'8.', 'i':'9.', 'j':'10.', 'k':'11.', 'l':'12.', 'm':'13.', 'n':'14.', 'o':'15.', 'p':'16.', 'q':'17.', 'r':'18.', 's':'19.', 't':'20.', 'u':'21.', 'v':'22.', 'w':'23.', 'x':'24.', 'y':'25.', 'z':'26.',}

	ret = ''

	for uit in a:

		uit = bieb[uit]

		ret = ret + uit

	return ret



def terug (b):

	bieba = {' ':' ','1':'a.', '2':'b.', '3':'c.', '4':'d.', '5':'e.','6':'f.', '7':'g.', '8':'h.', '9':'i.', '10':'j.', '11':'k.', '12':'l.', '13':'1m.', '14':'n.', '15':'o.', '16':'p.', '17':'q.', '18':'r.', '19':'s.', '20':'t.', '21':'u.', '22':'v.', '23':'w.', '24':'x.', '25':'y.', '26':'z.',}

	re = ''

	for lol in b:

		lol = bieba[lol]

		re = re + lol

	return re







print ('1 = code krijgen')

print ('2 = code invoeren')

optie = sys.stdin.readline().strip()



	

if optie == '1':

	print ('type iets in')

	a = sys.stdin.readline().strip()

	print (omkeeren(a))



elif optie == '2':

	print('voer code in')

	b = sys.stdin.readline().strip()

	print (terug(b))
alleen als je dat doet krijg je dit:

Code: Selecteer alles

Traceback (most recent call last):

  File "F:\python\omkeeren.py", line 40, in <module>

	print (terug(b))

  File "F:\python\omkeeren.py", line 15, in terug

	lol = bieba[lol]

KeyError: '.'
ik heb ale mogelijkheden al geprobeerd maar niks helpt weet iemand wat er fout is

tnx
Gebruikersavatar
ZVdP
Artikelen: 0
Berichten: 2.097
Lid geworden op: za 16 jul 2005, 23:45

Re: Python help

Aan de error te zien kies je voor optie 2, maar welke string geeft je in?

Ik ken geen Python, maar de error lijkt me te zeggen dat je bieba['.'] opvraagt, terwijl er voor '.' geen overeenkomstige waarde gedefinieerd is in bieba.
"Why must you speak when you have nothing to say?" -Hornblower

Conserve energy: Commute with a Hamiltonian
rembo357
Artikelen: 0
Berichten: 11
Lid geworden op: ma 13 feb 2012, 20:28

Re: Python help

Code: Selecteer alles

elif optie == '2':

	print('voer code in')

	b = sys.stdin.readline().strip()

	print (terug(b))
hier geef je op wat er uit de 'bieba' word gehaalt
Gebruikersavatar
ZVdP
Artikelen: 0
Berichten: 2.097
Lid geworden op: za 16 jul 2005, 23:45

Re: Python help

Maar moet je geen string intypen voor "b = sys.stdin.readline().strip()"?
"Why must you speak when you have nothing to say?" -Hornblower

Conserve energy: Commute with a Hamiltonian
EvilBro
Artikelen: 0
Berichten: 7.081
Lid geworden op: vr 30 dec 2005, 09:45

Re: Python help

De fout die je maakt is dat je een foutmelding geeft, maar niet zegt wat je input is. Ik vermoed dat je een punt in je input hebt zitten. Dit zal een foutmelding geven.

Code: Selecteer alles

>>> terug(".")

Traceback (most recent call last):

  File "<pyshell#7>", line 1, in <module>

terug(".")

  File "<pyshell#4>", line 5, in terug

lol = bieba[lol]

KeyError: '.'
Gebruikersavatar
ZVdP
Artikelen: 0
Berichten: 2.097
Lid geworden op: za 16 jul 2005, 23:45

Re: Python help

Je zou ook eens moeten kijken naar de split() methode van een string, aangezien je rechtstreekse for-lus over de string niet zal werken:

python string methods
"Why must you speak when you have nothing to say?" -Hornblower

Conserve energy: Commute with a Hamiltonian
rembo357
Artikelen: 0
Berichten: 11
Lid geworden op: ma 13 feb 2012, 20:28

Re: Python help

het is de bedoeling dat er punten in ziten want dat is wat er in de bieba staat

Code: Selecteer alles

   bieba = {' ':' ','1':'a.', '2':'b.', '3':'c.', '4':'d.', '5':'e.','6':'f.', '7':'g.', '8':'h.', '9':'i.', '10':'j.', '11':'k.', '12':'l.', '13':'1m.', '14':'n.', '15':'o.', '16':'p.', '17':'q.', '18':'r.', '19':'s.', '20':'t.', '21':'u.', '22':'v.', '23':'w.', '24':'x.', '25':'y.', '26':'z.',}
Woo ik zie mijn eigen fout bedankt man ik ga nu direct veranderen ik doe met punten inderdaad maar ik heb in bieba niet gezegd dat er punten in staat

zo veel bedankt

Terug naar “Informatica en programmeren”