使用while循环进行用户输入,直到按Enter键

时间:2016-05-29 19:36:54

标签: list python-3.x while-loop

我有浮动列表(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

1 个答案:

答案 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)