Ich wollte die Summe von (1 + 1 + 1 + ... + 1)^2 mit einer for-Schleife, aber mit einer Variablen n als Obergrenze so berechnen dass die Summe zu einer Funktion f (n) = n^2 führt. Bei einer nicht negativen ganzen Zahl x als Eingangs könnte die Schleife einfach codiert werden alsVariable n als obere Grenze einer for-Schleife
p==0
def f(x):
global p
for i in range(0,x):
p=p+1
return p**2
I eine Zeichenkette n auf diese Art von Schleife einzuspeisen wollte. Ist das machbar (mit oder ohne Modifikation)? Muss ich String-Conversion Hijinks a la SymPy machen?
bearbeiten: wow ich habe dieses Problem wirklich schlecht formuliert. Schlaf erraten ist wichtig, schließlich
nehme ich eine Funktion f (x) haben, wo
f(1) = 1
f(2) = f(1+1) = (1+1)^2 = 4
f(3) = f(1+2*1) = (1+2)^2 = 9
Dann f (n)
f(n) = f(1+(n-1)*1) = (1+(n-1))^2 = n^2
wäre, wenn ich das Ergebnis berechnen waren Mit einer for-Schleife oben (was ein Chaos wegen Schlafentzug ist), würde ich f (1), f (2), f (3), ... in die obige for-Schleife eingeben. Ich frage, ob ich n mit oder ohne Modifikation in die obige for-Schleife eingeben kann und n^2 bekommen kann.
(Die Beziehung zwischen f (1), f (2), ... hier ist nicht das gleiche wie das Problem, das ich gerade habe - ich frage mich nur, ob diese Idee möglich ist oder nicht, und wenn . ja, wie würde ich nichts lernen, wenn ich die Frage direkt fragen, würde ich)
edit2: Ein Beispiel für Eingabe/Ausgabe mit dem Algorithmus oben:
(Integer-Eingang)
f(1) = 1^2
f(2) = 2^2
f(423) = 423^2
(Float-Eingang)
f(0.5) = (0.5)^2
f(1.5) = (1.5)^2
f(234.23) = (234.23)^2
(String-Eingang - ohne zuerst auf diese Strings integer/float-Werte zuweisen)
f(a) = a^2
f(df) = (df)^2
f(the_speed_of_an_unladen_swallow) = (the_speed_of_an_unladen_swallow)^2
Was denn ich bin mit dem Ziel ist eine Modifikation für die Schleife oben, so dass ich dies für f tun kann, (a) wobei f die obige Funktion ist:
def g(a):
return f(a)
oder das Äquivalent davon.
Ich werde das hier einfach hier lassen, da ich weniger wie ein schlaftrunkener Uni-Student aussehe und eher wie ein schlaftrunkener, zurückgebliebener Uni-Student.
was würden Sie weitergeben? Ein Beispiel vielleicht? –
Welche Art von String? Können Sie ein Beispiel für solche Eingaben geben? NB: warum das globale "p"? Warum die Schleife über den Bereich, wenn Sie 'x ** 2 'effektiv zurückgeben? – trincot
Weitere Details zum Problem im ursprünglichen Beitrag hinzugefügt. – sync