1 svar
29 visningar
morfisen är nöjd med hjälpen
morfisen 7
Postad: 21 mar 11:46

Palindrom funktion

Har fastnat på denna frågan ett bra tag, jag har testat de flesta olika lösningar, men får det inte att fungera. Kan någon belysa mig?

Frågan:

"Välj ut åtta kommandon från listan till vänster nedan som, om de placeras i rätt ordning, bildar en extern funktion som undersöker om ett ord är ett palindrom. Funktionen skall ha ett teckenfält som input (som innehåller ordet) och ett logiskt värde som output (dvs. med datatypen bool). Placera kommandoraderna i rätt ordning i listan till höger (drag kommandona med muspekaren till rätt plats)."

Jag har testat de flesta lösningar för denna, men kommer verkligen inte fram till ett "svar". Skulle vara schyst om någon kan belysa mig."

De olika alternativen: 

def palindrom(V):
P=paplindrom(V)
if len(V)<=1:
P=true
elif V[0]==V[len(V)-1]:
return P
else:
P=False
P=paplindrom(V[1:len(V)-1])
if len(V)>1:
P=paplindrom(V[2:len(V)])
if V[0]==V[len(V-1)]:
elif len(V)==1:

Jag har inte någon lösning rakt av på problemet.

En början är nog att fundera på hur du själv skulle lösa det, kanske med pseudokod.

Det ser ju ut att vara en rekursiv funktion, så det är en ledtråd. Då måste det finnas (1) ett basfall och (2) ett anrop till sig själv. Det måste även finnas någon form av villkor (V) som väljer mellan (1) och (2), samt åtminstone en rad som returnerar (R) något.

Eftersom (1) och (2), samt (V) och (R), måste finnas och funktionen dessutom börjar med def, så är det "bara" tre rader kvar. 

Svara Avbryt
Close