У меня есть список поплавков (L1), и я хочу создать L2, который является L1 * a. Я хочу, чтобы пользователь увидел график L1 и L2, чтобы увидеть, удовлетворен ли он «а», который он ввел. Он может ввести другой «а», пока он не доволен сюжетом, а затем нажмите «Ввод», чтобы закончить цикл while. Я попробовал следующее, но мой код только графиков, когда я нажимаю enter (и не каждый раз, когда вводится новый a). Что я делаю не так?Использование цикла while для ввода пользователя до тех пор, пока не будет нажата клавиша Enter
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
Хотя вы по праву отметили ошибки в моем коде, которые я ценю, он по-прежнему не ведет себя так, как я этого хотел. Код по-прежнему зацикливается на «a», и график появляется только после того, как я нажал Enter. – cJc
Я не понимаю, что вы имеете в виду? С приведенным выше кодом, когда вы только нажмете enter, он выйдет. Когда вы вводите 'float' и нажимаете enter, он будет вызывать методы' plot' и запрашивать другой номер. – C14L
импорта matplotlib.pyplot, как PLT L1 = [10.1, 11.2, 12.3, 13.4, 14.5, 13.4, 12.3, 11.1, 10.0] сделано = False , пока не сделано: а = вход ("Пожалуйста, введите альфа (от 0 и 1), Enter для выхода: ") если == "": сделан = True еще: а = поплавок (а) L2 = [х * а для й в L1] plt.plot (L1) plt.plot (L2) Пожалуйста, введите альфа (между 0 и 1), Enter для выхода: 0,7 Пожалуйста, введите альфа (между 0 и 1), Enter для выхода: – cJc