Hallo
Liste erstellen und Zahlen anhängen ist kein Problem!
Aber wie werden Zuweisungen in der Liste angehängt, mit denen man später rechnet!
Beispiel:
y=[]
x=[]
mit y.append() und x.append() werden Zahlen angehangen!
Nun aber möchte ich mit
y=input()
x=input() Zahlen manuell eingeben, die in der Liste angehängt werden.
y=input(23,12;24,23)
x=input(22,15;23,56); variablen in Liste"y" sollen addiert werden, und auch in Liste"x" sollen die Zahlen addiert werden.
Wenn die Summe in Liste y(23,12+24,23) 47,35 ergibt
Und die Summe in x(22,15+23,56) 45,71 ergibt, soll das Programm, wie bei einer Gleichung, folgendes Ausgeben: Für "X" = "+1,64"
Für "Y" = "-1,64"
Nach jeder Eingabe von "Y" und "X" sollen die Zahlen mitteinder addiert, und danach die differenz der beiden Listen ausgegeben werden.
Besten Dank
Mit Listen Arbeiten
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Das klingt schon mal gut, aber...Draco2010 hat geschrieben:Hallo
Liste erstellen und Zahlen anhängen ist kein Problem!
Wo genau ist hier der Unterschied zu "Anhängen"?Aber wie werden Zuweisungen in der Liste angehängt, mit denen man später rechnet!
Du musst eben eine Funktion schreiben, die die beiden Werte einliest und jeweils an die richtige Liste hängt. Danach musst Du ja nur noch die Summe über der Liste bilden und von den beiden Ergebnissen noch die Differenz ausrechnen.Nach jeder Eingabe von "Y" und "X" sollen die Zahlen mitteinder addiert, und danach die differenz der beiden Listen ausgegeben werden.
Ich verstehe hier wirklich nicht Dein Problem? Hast Du das Tutorial durchgearbeitet und die Doku griffbereit? Wenn ja, sollte das einfach zu realisieren sein!
Code: Alles auswählen
# unmittelbare Lösung
x = [1, 2, 5, 7]
s = 0
for v in x:
s = s + v
print s
# als Funktion
def summe(x):
s = 0
for v in x:
s += v
return s
print summe(x)
# Summenbildung ist allerdings schon eingebaut
print sum(x)
# man kann sich mit reduce behelfen
from operator import add
print reduce(add, x)
# oder lambda statt des imports benutzen
print reduce(lambda x,y: x+y, x)
# oder rekursiv vorgehen
def summe(x):
if x:
return x[0] + summe(x[1:])
return 0
print summe(x)
# gerne auch mit einer if expression statt statement
def summe(x):
return x[0] + summe(x[1:]) if x else 0
print summe(x)
# oder extra-umständlich rein operational
s = 0
i = 0
while i < len(x):
s = s + x[i]
i = i + 1
print s
Vielen Dank Stefan,
deine Quellcodes haben mich etwas weiter gebracht, fand ich super dass Du sie mir gleich in verschiedenen Möglichkeiten auggezeigt hast!
Würde mich nur interessieren, für was die Variable "s" ; "v"; und "i" steht ?
Besten Dank
Gruß
Draco
deine Quellcodes haben mich etwas weiter gebracht, fand ich super dass Du sie mir gleich in verschiedenen Möglichkeiten auggezeigt hast!
Würde mich nur interessieren, für was die Variable "s" ; "v"; und "i" steht ?
Besten Dank
Gruß
Draco
Das ist seine shorthand für sum/summe, value, index. Du kannst sie auch ausschreiben oder krokodil, elefant, ameise nennen. Ganz wie es beliebt. Im Allgemeinen empfielt sich Bezeichner zu wählen, die für sich selbst stehen. s, v, i und andere werden so häufig verwendet, dass man sie oft nicht ausschreibt.
edit: PS Vorsicht: sum ist built-in.
edit: PS Vorsicht: sum ist built-in.