7 svar
94 visningar
KriAno 167
Postad: 2 nov 2019

På varandra följande tal i en lista

Hej!

Kan man på något sätt se högsta antalet på varandra följande tal i en lista, och även se vilka talen är? 

T.ex. om man har en lista som ser ut såhär:

List=[182, 183, 548, 549, 550]

Då är ju det högsta antalet på varandra följande tal 3 och talen är 548, 549 och 550.

Väldigt tacksam för hjälp!

MVH KriAno

Dr. G Online 4858
Postad: 2 nov 2019

Gör en egen funktion som kollar detta. Loopa igenom listan och se för vilka index j som 

List[j + 1] == List[j] + 1

Dr. G Online 4858
Postad: 3 nov 2019

Hur gick det här?

Jag fulkodade ihop en funktion som löser detta med brute force. Sannolikt finns det en hel del genvägar med inbygda funktioner i Python (eller bara med snyggare kodning).

FreeCodeParty 7
Postad: 4 nov 2019

Här har du koden!

#!/usr/bin/env python3

mylist = [182, 183, 548, 549, 550]

mylist.sort()

index = len(mylist) - 3

newlist = mylist[index:]

print(newlist)

FreeCodeParty's kod funkar endast om det är tre tal och om de talen är de högsta i listan. Det blir uppenbart om man provar med exvis:

List=[12, 13, 14, 15, 548, 549, 550]

Dr. G har ett bättre tips.

Lindehaven 211 – Leg. Lärare
Postad: 2 dagar sedan

Hur gick det med detta? Har du lyckats lösa uppgiften?

Dr. G Online 4858
Postad: Igår

Jag är också nyfiken.

Jag postar min lösning efter att KriAno postar sin.

KriAno 167
Postad: 2 timmar sedan
Dr. G skrev:

Jag är också nyfiken.

Jag postar min lösning efter att KriAno postar sin.

Hej igen!

Här ovan kan ni se min lösning. Dock så blir det lite problem när det är flera "7 på varandra följande tal". Eller det blir i alla fall inte så snyggt.  

Svara Avbryt
Close