Wie kann ich Zahlenreihen verwenden?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Benutzeravatar
snafu
User
Beiträge: 5389
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Wie kann ich Zahlenreihen verwenden?

Beitragvon snafu » Freitag 29. Februar 2008, 21:17

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?
Benutzeravatar
Hyperion
Moderator
Beiträge: 7471
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Beitragvon Hyperion » Freitag 29. Februar 2008, 21:27

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!
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

Beitragvon audax » Freitag 29. Februar 2008, 21:35

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
runge
User
Beiträge: 8
Registriert: Sonntag 9. Dezember 2007, 12:10
Wohnort: Berlin
Kontaktdaten:

Beitragvon runge » Freitag 29. Februar 2008, 21:45

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 ^^
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Freitag 29. Februar 2008, 22:09

Hyperion hat geschrieben:Generell gibt es für solche Paare dictionarys

Wohl eher Listen, da die Eingabedaten ja sequentielle Indizes haben.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
Hyperion
Moderator
Beiträge: 7471
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Beitragvon Hyperion » Freitag 29. Februar 2008, 22:19

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 ;-)
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Beitragvon BlackVivi » Freitag 29. Februar 2008, 23:45

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

Beitragvon BlackJack » Samstag 1. März 2008, 00:58

@audax: Ist doch mal interessant unter welchen verschiedenen Namen die Leute so unterwegs sind. ;-)

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]