Seite 1 von 1

Wie kann ich Zahlenreihen verwenden?

Verfasst: Freitag 29. Februar 2008, 21:17
von snafu
Ich habe folgende Zahlenpaare:

Code: Alles auswählen

1   1
2   26
3   51
4   76
5   101
6   126
7   151
8   176
9   201
10  226
11  251
12  276
13  301
.
.
.
207 5151
208 5176
209 5201
210 5226
211 5251
Wie man sehen kann, folgen sie einem bestimmten Muster (01, 26, 51, 76 und davor eine Zahl, die sich jeweils um eins erhöht). Ich möchte nun z.B. mit der Eingabe von 208 die Zahl 5176 ansprechen. Könnte mir jemand zumindest Ansatzpunkte liefern, wie ich da am besten vorgehen kann? Ich vermute, eine Lösung wäre, die Zahlen in eine Datei zu schreiben und dann die so-und-so-vielte Zeile zu nehmen. Aber geht es auch anders?

Verfasst: Freitag 29. Februar 2008, 21:27
von Hyperion
Also kommt drauf an, was Du damit machen willst!

Generell gibt es für solche Paare dictionarys:

Code: Alles auswählen

dict = {1:1, 2:26, 3:51, ...}
print dict[208]
Allerdings scheinen Deine Zahlen ja auf einer Funktion (Folge) zu basieren. Wenn Du die Formel kennst, wäre es sinnvoller einfach bei Anfrage die gesuchte Zahl ausrechnen zu lassen.

Speichern / Laden in eine Datei geht bei so etwas vermutlich am einfachsten mit sogenannten CSV-Dateien. Dafür gibts auch ein eigenes Modul bei Python!

Verfasst: Freitag 29. Februar 2008, 21:35
von audax
Warum postet du sowas gleich in 2 Foren?
Hier mein Beitrag zu dem Problem:
http://forum.ubuntuusers.de/post/1257112/

Dann hier noch andere Lösung:

Code: Alles auswählen

def deine_reihe(x):
    return x*25 - 24

Verfasst: Freitag 29. Februar 2008, 21:45
von runge
Ich würde wie Hyperion schon meinte, es in eine Funktion umdefinieren und dann ne Methode dazu schreiben

Bsp:

Funktion = 25x - 24

hattest schon ne antwort, sry ^^

Verfasst: Freitag 29. Februar 2008, 22:09
von Leonidas
Hyperion hat geschrieben:Generell gibt es für solche Paare dictionarys
Wohl eher Listen, da die Eingabedaten ja sequentielle Indizes haben.

Verfasst: Freitag 29. Februar 2008, 22:19
von Hyperion
Leonidas hat geschrieben:
Hyperion hat geschrieben:Generell gibt es für solche Paare dictionarys
Wohl eher Listen, da die Eingabedaten ja sequentielle Indizes haben.
Hey, ich hatte mir die nun nicht genau angeguckt ;-)

Verfasst: Freitag 29. Februar 2008, 23:45
von BlackVivi

Code: Alles auswählen

>>> miau = dict([(enu + 1, x) for enu, x in enumerate(xrange(1, 10000, 25))])
>>> miau
{1: 1, 2: 26, 3: 51, 4: 76, 5: 101, 6: 126, 7: 151, 8: 176, 9: 201, 10: 226, 11:
 251, 12: 276, 13: 301, 14: 326, 15: 351, 16: 376, 17: 401, 18: 426, 19: 451, 20
: 476, 21: 501, 22: 526, 23: 551, 24: 576, 25: 601, 26: 626, 27: 651, 28: 676, ...}
(Falls man genau die Struktur, nicht beginnend mit 0 und sowas haben will =D Ansonsten is's wie Leonidas gesagt hat...)

Verfasst: Samstag 1. März 2008, 00:58
von BlackJack
@audax: Ist doch mal interessant unter welchen verschiedenen Namen die Leute so unterwegs sind. ;-)