我有浮动列表(L1),我想创建L2,即L1 * a。我希望用户看到L1和L2的情节,看他是否对他输入的'a'感到满意。他可以输入一个不同的'a',直到他对情节感到满意,然后按Enter键结束while循环。我已经尝试了下面的内容,但是我的代码只在我按下enter时显示(而不是每次输入新的a)。我究竟做错了什么?
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
答案 0 :(得分:0)
在这里,您正在强制输入float
a = float(input("Please enter alpha (between 0 and 1), Enter to exit: "))
在这里,您要检查float
是否为空string
(它不可能)
if a == "":
done = True
我建议
while not done:
a = input("Please enter alpha (between 0 and 1), Enter to exit:")
if a == "":
done = True
else:
a = float(a)
L2 = [x * a for x in L1]
plt.plot(L1)
plt.plot(L2)