Gå til innhold

[Løst]Trenger hjelp ASAP med programmeringsoppgave


Anbefalte innlegg

Går datateknikk (skal bli byggingeniør, så ser ikke helt vitsen) på UiS og har da fått i oppgave å programmere noe shit i Python.

 

Gikk helt fint helt til jeg skulle bruke en metode som var gitt i oppgaven (vi fikk en .py med noen bein vi skulle kjøtte opp). Da fikk jeg som svar at returverdien visstnok ikke er definert globalt, eller noe i den dur. Noen som kan se på det?

 

#Lab2.py

#

 

 

#Main metoden

def main():

tabell = [2, 6, 8, 13, -1, 3]

print("Dette er den usorterte tabellen: ")

skrivTabell(tabell)

print("Dette er den ferdig sorterte tabellen: ")

sorterTabell(tabell)

skrivTabell(tabell)

sokTall = int (input ("Skriv inn tallet du vil søke etter." ))

print ()

binSok (tabell, 0, len(tabell) - 1, sokTall)

if resultat == -1:

print ("Tallet finnes ikke i tabellen")

if resultat >= -1:

printResultat = (resultat + 1)

print ("Tallet finnes i tabellen på plass nummer ")

print (printResultat)

#End of main metoden

 

#Metode for å skrive ut en tabell til skjermen

def skrivTabell(tab):

i = 0

while i <len(tab):

print(tab)

i = i + 1

print ()

#End of while-loop

#End of skrivTabell

 

#Metode for å sortere tabell. Boblesortering

def sorterTabell(usortTab):

M = len(usortTab)

while M >= 1:

N = 1

while N < M:

if usortTab[N-1] > usortTab[N]:

usortTab[N-1], usortTab[N] = usortTab[N], usortTab[N-1]

#End of if

N = N + 1

#End of inner while-loop

M = M -1

#End of outer while-loop

#End of sorterTabell

 

 

#Metode for å søke i en tabell

def binSok(sortTab, start, slutt, maal):

 

if start > slutt:

resultat = -1

 

else:

test = int(start + (slutt-start)/2)

if maal == sortTab[test]:

return test

else:

if maal < sortTab[test]:

slutt = test - 1

else:

start = test + 1

resultat = (binSok(sortTab, start, slutt, maal))

 

return resultat

#End of binSok

 

#Metode for å fylle en tabell med tall mellom to gitte tall (a og b)

def fyllTabell(innTab, a, b):

#Skriv inn programmkoden for oppgave b her.

print("Denne metoden er under konstruksjon")

#End of fyllTabell

 

Feilmeldingen er som følger:

 

Traceback (most recent call last):

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

main ()

File "C:\Documents and Settings\Christian\Desktop\PajtonFS\Lab2.py", line 16, in main

if resultat == -1:

NameError: global name 'resultat' is not defined

Lenke til kommentar
Videoannonse
Annonse

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...