aus 2 listen Variabelnm und Bezeichner machen

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
schwedenmann
User
Beiträge: 42
Registriert: Sonntag 21. Oktober 2007, 13:38
Wohnort: Wegberg

Halllo

Wie schon in der Übersicht beschrieben

s1 = (100, 200, 300)
s2 (Z1, Z2, Z3)

Wie schaff ich es, das ich nachher sowa erhalte
Z1=100
Z2=200
Z3=300

Problem dabei ist, das beide Listen zwar immer! dieselbe Anzahl Elemente enthalten, bei jedem Aufruf des Programms aber per raw_input mit schwankenden Elementanzahlen von 2 bis max20 Elementen) gefüttert werden könenn.


Geht das überhaupt ?

mfg
schwedenmann
mfg
schwedenmann
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

schwedenmann hat geschrieben:Geht das überhaupt ?
Die Frage ist eher: "Wozu brauchst du das überhaupt?"
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Warum willst du eigentlich Namen? Reicht ein Dict oder eine Liste nicht aus?

Gehen wird das spaetestens, wenn man sie in `globals` reinfummelt.
Aber wehe du nutzt das, ohne das mit Dicts oder Listen zu versuchen!
schwedenmann
User
Beiträge: 42
Registriert: Sonntag 21. Oktober 2007, 13:38
Wohnort: Wegberg

Hallo

Der Code

anzahl = int(raw_input("Wie viele CPU habne Sie? "))
liste = []
# Megahzzahl pro Anzahlk Kerne eintippen und in liste speichern
for i in range(anzahl):
Mhz = int(raw_input("Bitte geben sie die Mhzzahl %d. CPU an --> " % (i+1)))
liste.append(Mhz)
#Kontrollausdruck, fällt später weg
print liste

ich weiß nicht, wie ich für jeden Raw_input eine eigene variable Mhzxyz deklarieren kann.

deshalb die Hilskonstruktion mit die Mhz Einagenappend in eine Liste zu speichern.
Kann amn über die variable anzahll (also die Anzahl der raw_inpu Eingaben), jeweils eine variable pro einagbe definieren ?
Ich muß lieder mit jeder Eingabe weiterrechnen und wies chon gesagt, es können min 2 aber max. 20 Eingaben pro programmaufruf vorkommen.

mfg
schwedenmann

P.S.
ich hoffe mein Anliegen ist einigermaßen verständlcih, ist im prinzip nur ein Rechner mit unetrschiedlichen Eingabenanzahl pro Aufruf, wobei jede Eingabe separat in einer Variablen gespeichert werden muß.
mfg
schwedenmann
BlackJack

@schwedenmann: Warum muss jeder Wert an einen eigenen Namen gebunden werden!? Wie willst Du darauf wieder zugreifen? Warum reicht es Dir nicht, die Werte in einer Liste stehen zu haben? *Direkt* wirst Du doch sowieso nicht auf `z1` oder `z5` zugreifen, an der Stelle wird die Zahl in dem "Namen" doch sicher auch wieder an einen Namen gebunden sein!?
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

@schwedenmann: Es wäre auch hilfreich, wenn du Code-Tags benutzen würdest und etwas mehr Wert auf sprachliche Qualität legst - beides hilft beim Verständnis des Problems.
schwedenmann
User
Beiträge: 42
Registriert: Sonntag 21. Oktober 2007, 13:38
Wohnort: Wegberg

Hallo
schwedenmann: Warum muss jeder Wert an einen eigenen Namen gebunden werden!?
Weil ich
a. die Summe der Elemente benutzen muß
b. jeden Wert der Elemente benutzen muß

Das ganze ist nur ein Rechner, der mit Elementen per raw_inpu gefüttert wird, wobei die Anzahl der Eingaben pro Programmaufruf schwankt.
anzahl = int(raw_input("Wie viele CPU habne Sie? "))
liste = []
# Megahzzahl pro Anzahlk Kerne eintippen und in liste speichern
for i in range(anzahl):
Mhz = int(raw_input("Bitte geben sie die Mhzzahl %d. CPU an --> " % (i+1)))
liste.append(Mhz)
Wie bekomme ich hier für Mhz jeweils pro Eingabe eine Variable (also z.B. Mhz1 für die 1. raw_input Eingabe usw.?), dann bräuchte ich die liste nicht, oder kann man die Anzahl der Eingaben, mit den Eingaben anders korrelieren und die Werte weiter benutzen ?

mfg
schwedenmann
mfg
schwedenmann
BlackJack

@schwedenmann: Deine Antwort ist im Grunde die gleiche und klärt wieder die Frage nicht. Für a. und b. ist es prima das die Werte alle in einer Liste stehen, denn a. die `sum()`-Funktion funktioniert prima mit Listen und b. schreibt man Schleifen über Listen, wenn man etwas mit jedem Wert einer Liste tun will. Beides ist unabhängig davon wieviele Elemente in der Liste sind. Das können 0, 10, oder auch eine Million sein -- der Code bleibt der gleiche. Wie sollte das aussehen wenn Du unzählige *einzelne* Namen hättest, statt *einer* Liste!?

Arbeite bitte mal das Tutorial in der Pythondokumentation durch und achte dabei insbesondere auf Listen.
Antworten