Hallo zusammen,
weiß jemand wie ich einen dynamischen Vector schreiben kann?
Also ich meine ich gebe dem Vector seine Dimesion vor.
Beispiel die größe soll 100 sein.
Dynamischer Vektor
- veers
- User
- Beiträge: 1219
- Registriert: Mittwoch 28. Februar 2007, 20:01
- Wohnort: Zürich (CH)
- Kontaktdaten:
Definiere "Vector" und was du mit dynamisch in dem Zusammenhang meinst. Vektor im Mathematik, oder in der Biologie, oder wie in der Informatik, ...?
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Was nun? Größe oder Dimension? Ein-Dimensional mit variabler Größe ist in Python die `list`, auch als `[...]` geschrieben. Variabeldimensional geht nicht. Feste Größe (und gleichzeitig änderbar) auch nicht.
Stefan
Stefan
also ich habe eine tabelle in messwerte stehen soll.
wenn ich schreiben [5]
dann steht der wert 5 in der ersten zeile der ersten spalte.
wenn ich jetzt [5,4]
dann steht in der ersten spalte in zeile 1 der wert 5 und in der zweiten spalte der wert 4.
jetzt möchte ich, das ich meinem programm sage dass ich 100 werte habe will. aber ich will nicht 100 mal [5,4,.......] schreiben.
also 100 sollen in meiner tabelle stehen.
wenn ich schreiben [5]
dann steht der wert 5 in der ersten zeile der ersten spalte.
wenn ich jetzt [5,4]
dann steht in der ersten spalte in zeile 1 der wert 5 und in der zweiten spalte der wert 4.
jetzt möchte ich, das ich meinem programm sage dass ich 100 werte habe will. aber ich will nicht 100 mal [5,4,.......] schreiben.
also 100 sollen in meiner tabelle stehen.
Code: Alles auswählen
>>> vector = []
>>> for i in xrange(10):
vector.append(i)
>>> vector
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>
-
- User
- Beiträge: 128
- Registriert: Freitag 22. Oktober 2004, 09:22
- Wohnort: Salzgitter
- Kontaktdaten:
Ich verstehe Dich nicht, aber ich habe derweil Lust zu raten:
Willst du n-Fach die Liste [5,4]?Oder willst du eine Liste mit n Elementen? Wenn ja, wo sollen die herkommen, wenn du sie nicht selbst eingeben willst?
Lonestar: siehe range(10)
Willst du n-Fach die Liste [5,4]?
Code: Alles auswählen
[5,4]*n
Lonestar: siehe range(10)
I am not part of the allesburner. I am the [url=http://allesburner.de]allesburner[/url].
ich habe folgendes problem:
mein messwert soll alle 2 sec gemessen werden mit meinem programm.
das heißt ich will jeden messwert der gemessen wurde in meiner tabelle stehen haben. also nicht immer die gleiche zahl sondern jeden messwert in eine neue zeile. ich möcht vorgeben 100 werte also muss er mir 100 zeilen mit dem jeweiligen messwert zeigen.
mein messwert soll alle 2 sec gemessen werden mit meinem programm.
das heißt ich will jeden messwert der gemessen wurde in meiner tabelle stehen haben. also nicht immer die gleiche zahl sondern jeden messwert in eine neue zeile. ich möcht vorgeben 100 werte also muss er mir 100 zeilen mit dem jeweiligen messwert zeigen.
@Ingo: Wenn Du 100 Werte nacheinander in der "Tabelle" hinzufügst, dann ist die `append()`-Methode der richtige Ansatz, weil das eben eine dynamisch wachsende Liste ist.
Wenn Du am Ende 100 Einträge in der Liste stehen haben möchtest, aber gar nicht so viele Werte bekommst, müsstest Du eine Liste erzeugen, die mit 100 Werten gefüllt ist, zum Beispiel Nullen oder `None`. Das würde ich aber nur machen, wenn die Werte nicht nacheinander in der Liste stehen sollen oder aus irgend welchen Gründen nicht in der Reihenfolge rein kommen, in der sie in der Liste stehen sollen.
Edit: Also prinzipiell sähe das Lesen von 100 Werten dann so aus:
Und wenn Dir *das* nicht klar ist, solltest Du unbedingt die Grundlagen lernen, bevor Du weiter machst. Am besten das Tutorial in der Python-Dokumentation durch arbeiten.
Wenn Du am Ende 100 Einträge in der Liste stehen haben möchtest, aber gar nicht so viele Werte bekommst, müsstest Du eine Liste erzeugen, die mit 100 Werten gefüllt ist, zum Beispiel Nullen oder `None`. Das würde ich aber nur machen, wenn die Werte nicht nacheinander in der Liste stehen sollen oder aus irgend welchen Gründen nicht in der Reihenfolge rein kommen, in der sie in der Liste stehen sollen.
Edit: Also prinzipiell sähe das Lesen von 100 Werten dann so aus:
Code: Alles auswählen
messwerte = list()
for dummy in xrange(100):
messwerte.append(lese_messwert())
time.sleep(2)
Damit ist eine Funktion gemeint, die den nächsten Messwert liest. Wie auch immer Du das implementierst. Und so etwas brauchst Du ja, weil der Wert ja nicht alle zwei Sekunden auf magische Weise an einen Namen gebunden wird.
Wie kommt der dort hin? Woher weisst Du das der Wert neu ist, bzw. wann er neu ist?
Und IMHO bist Du definitiv noch nicht so weit um Dich mit nebenläufiger Programmierung herum zu schlagen.
Und IMHO bist Du definitiv noch nicht so weit um Dich mit nebenläufiger Programmierung herum zu schlagen.
Weil ich ein timer drin habe, der alle 2 sec den wert in die variable schreibt. ich schicke doch über ethernet mein commando raus und bekomme meine antwort. und ich sende genau alle sec mein commando und bekomme darauf hin meinen spannungsmesswert
Na dann hast Du ja eine Funktion, die alle zwei Sekunden aufgerufen wird. Und anstatt den immer an den gleichen Namen zu binden, musst Du ihn halt an eine Liste anhängen.
Ja und das wurde sowohl von mir als auch davor schon von Lonestar gezeigt. Ein Objekt hängt man mit der `append()`-Methode an eine Liste an.
Bevor Du weiter programmierst, arbeite bitte das Tutorial durch. Sonst hat das wenig Sinn.
Bevor Du weiter programmierst, arbeite bitte das Tutorial durch. Sonst hat das wenig Sinn.
- mkesper
- User
- Beiträge: 919
- Registriert: Montag 20. November 2006, 15:48
- Wohnort: formerly known as mkallas
- Kontaktdaten:
Aufgrund des aktuellen Mangels an Kristallkugeln würde ich vermuten, dass es am fehlerhaften Programmcode liegt.Ingo hat geschrieben:der wert 4,875 ist mein messwert der rest nicht. woran kann das nur liegen?
Zuzüglich Unwillen sich mal hinzusetzen und die Grundlagen zu lernen, und vorgeschlagenen Quelltext nicht nur blind abzutippen, sondern auch zu verstehen, vermutet meine Kristallgugel.