Gå til innhold

Python, funksjoner


Anbefalte innlegg

Videoannonse
Annonse
Ble seende slik ut, ikke helt etter boka, men gjør jobben
def alphabet_position(letter):
        alphabet_pos = {"a": "b", "b": "c", "c": "d", "d": "e", "e": "f", "f": "g", "g": "h", "h": "i", "i": "j",
                        "j": "k", "k": "l", "l": "m", "m": "n", "n": "o", "o": "p", "p": "q", "q": "r", "r": "s",
                        "s": "t", "t": "u", "u": "v", "v": "w", "w": "x", "x": "y", "y": "z", "z": "end"}
        pos = alphabet_pos[letter]
        return pos

letter = input('Skriv en bokstav:')
print(alphabet_position(letter))
Lenke til kommentar

Om du vil ha tilbakemelding så synes jeg at det er litt i overkant rigid og overkill å bruke en dict til dette. Man vet at "g" alltid kommer etter "f", og "f" kan man finne med å bare loope gjennom array til du finner det som matcher, alternativt konvertere alfabetet til en indeks om du vil slippe et lineært søk.

Det er ingenting i veien med koden din, men jeg må si at man blir bortskjemt av Python. Jeg vet heller ikke om veilederen din hadde en intensjon om å bruke lookup tables i stedet for algoritmiske løsninger.

Lenke til kommentar

Hva med å konvertere til ascii-verdi, legge til, og så konvertere tilbake? Husk spesialhåndtering når du kommer til siste bokstav (evt. også for øæå).

Antar man har en predefinert funksjon for å konvertere til/fra ascii i Python.

Endret av NULL
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...