Ich habe eine Liste von Floats (L1) und ich möchte L2 erstellen, die L1 * a ist. Ich möchte, dass der Benutzer die Handlung von L1 und L2 sieht, um zu sehen, ob er mit dem 'a', das er eingegeben hat, zufrieden ist. Er kann ein anderes "a" eingeben, bis er mit der Handlung zufrieden ist und dann Enter drücken, um die While-Schleife zu beenden. Ich habe das unten ausprobiert, aber mein Code zeigt nur Graphen an, wenn ich Enter drücke (und nicht jedes Mal ein neues eingibt). Was mache ich falsch?Mit While-Schleife für Benutzereingabe, bis Enter gedrückt wird
import matplotlib.pyplot as plt
L1 = [10.1, 11.2, 12.3, 13.4, 14.5, 13.4, 12.3, 11.1, 10.0]
done = False
while not done:
a = float(input("Please enter alpha (between 0 and 1), Enter to exit: "))
L2 = [x * a for x in L1]
plt.plot(L1)
plt.plot(L2)
if a == "":
done = True
Obwohl Sie zu Recht auf Fehler in meinem Code hingewiesen haben, die ich zu schätzen weiß, verhält er sich immer noch nicht so, wie ich es wollte. Der Code fragt immer noch nach 'a' und der Graph kommt erst nachdem ich Enter gedrückt habe. – cJc
Ich verstehe nicht was du meinst? Mit dem obigen Code, wenn Sie nur Enter drücken, wird es beendet. Wenn Sie einen 'float' eingeben und Enter drücken, ruft er die' plot' Methoden auf und fragt nach einer anderen Zahl. – C14L
Import matplotlib.pyplot als plt L1 = [10.1, 11.2, 12.3, 13.4, 14.5, 13.4, 12.3, 11.1, 10.0] = False getan während nicht getan: a = Eingang ("Bitte geben Sie alpha (zwischen 0 und 1), Enter, um zu beenden: ") wenn a == "": getan = True sonst: a = Schwimmer (a) L2 = [x * a für x in L1] plt.plot (L1) plt.plot (L2) Bitte geben Sie alpha (zwischen 0 und 1), verlassen Enter: 0,7 Bitte geben Sie alpha (zwischen 0 und 1), um zu beenden geben Sie: – cJc