wassup Skrevet 12. august 2013 Del Skrevet 12. august 2013 (endret) Hei! Jeg lærer meg Python på Codeacademy nå for tida. Jeg har kommet til oppgaven "Pyglatin-translator", der du skal skrive et Python-script som lager "tullelatin" av vanlige ord. Jeg har kommet til delen for å avgjøre om første bokstav er en vokal eller en konsonant. For øyeblikket ser koden slik ut: pyg = 'ay' original = raw_input('Enter a word:') if len(original) > 0 and original.isalpha(): word = original.lower first = word [0] if first == "a" or "e" or "i" or "o" or "u" or "y": print "vowel" else: print "consonant" else: print 'empty' Da får jeg feilmelding : Traceback (most recent call last): File "python", line 7, in <module> TypeError: 'builtin_function_or_method' object has no attribute '__getitem__' Jeg har prøvd å endre koden slik at den ser sånn ut: pyg = 'ay' original = raw_input('Enter a word:') if len(original) > 0 and original.isalpha(): word = original.lower first = word [0] if first == "a" or first == "e" or first == "i" or first == "o" or first == "u" or first == "y": print "vowel" else: print "consonant" else: print 'empty' Da får jeg feilkode: File "python", line 8 if first == "a" ^ SyntaxError: invalid syntax Skjønner ikke helt hva jeg gjør feil, kan noen hjelpe? På forhånd takk for svar! Endret 12. august 2013 av wassup Lenke til kommentar
Gjest Slettet+6132 Skrevet 12. august 2013 Del Skrevet 12. august 2013 Kanskje du kan finne noen svar her: http://www.codecadem...79b300d3000036 a Lenke til kommentar
wassup Skrevet 12. august 2013 Forfatter Del Skrevet 12. august 2013 Kanskje du kan finne noen svar her: http://www.codecadem...79b300d3000036 a Takk! Fant ut av det. Etter en nøye gjennomgang av koden fant jeg ut at jeg fikk feilmelding fordi jeg glemte parentes etter "original.lower". Problemet er løst! Lenke til kommentar
Torbjørn T. Skrevet 12. august 2013 Del Skrevet 12. august 2013 (endret) lower er ein funksjon, so word = original.lower() I det andre tilfellet har du gløymd kolonet som avslutter if-linja. Redigert: Du fann visst feilen ja. Endret 12. august 2013 av Torbjørn T. Lenke til kommentar
snippsat Skrevet 13. august 2013 Del Skrevet 13. august 2013 if first == "a" or "e" or "i" or "o" or "u" or "y": Forandre til dette,ser berede ut og lettere og lese. if first in 'aeiouy': 2 Lenke til kommentar
slacky Skrevet 16. august 2013 Del Skrevet 16. august 2013 For multilinje ifstatement så bruker man "\" i slutten av hver linje.EG: original = 'ostekake' if (len(original) > 0) and (original.isalpha()): word = original.lower() first = word[0] if first == "a" \ or first == "e" \ or first == "i" \ or first == "o" \ or first == "u" \ or first == "y": print "vowel" else: print "consonant" else: print 'empty' Men, som nevnt over: Dette gjøres mye kortere med pythons this in that spørring Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå