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.
Antworten
Benutzeravatar
snafu
User
Beiträge: 5440
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

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: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

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

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

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

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: 7472
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

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:

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

Samstag 1. März 2008, 00:58

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