2

这似乎是一个非常基本的问题,但我无法在任何地方找到解决方案,所以这里是:

我正在编写一个小程序,主要用于练习,它会根据我的输入做不同的事情,如下所示:

while True:
    switch = input('a, b or c:')

    if switch == "a":
        print("In command line and Powershell...")
    elif switch == "b":
        print("...these lines will never run.")
    elif switch == "c":
        print("Neither will this one, no matter what my input(switch) is.")
    else:
         print("meh...")
                 break

如果我在 IDLE 或 PyScripter 解释器中运行我的代码,它可以正常工作,但是当我在命令行或 PowerShell 中运行它时,无论我的输入是什么,每次都会执行“else”行。

4

1 回答 1

1

我不知道为什么你最后会得到一个回车,也许你是在 Windows 上运行它。在 Unix 上它运行良好。解决方法是确保删除任何空格:

switch = input('a, b or c:').strip()

那应该可以解决您的问题。

于 2012-08-02T07:28:01.253 回答