无法比较Python 3.2中的输入字符串

时间:2015-05-06 10:18:14

标签: python python-3.x input python-3.2

我在Python中遇到了一个非常奇怪的问题。这两个似乎没有帮助:

Validating user input strings in Pythonfastest way to compare strings in python

我写了以下小程序test.py:

import sys
while True:
    print("\n")
    print("Type exit to exit: ")

    inputvar = str(input())
    print("Input: "+inputvar)

    if inputvar == 'exit':
        print("Exiting!")
        sys.exit("\n\nProgram quit.")
    else:
        print("Still here")

目前的版本似乎没有退出exit'exit'"exit"。使用input()代替str(input())似乎没有什么区别,使用isin代替==也没有任何区别。

我在Windows 7上使用Python 3.2。

2 个答案:

答案 0 :(得分:7)

Python 3.2.0中存在一个错误,其中\r的追踪input()未从inputvar = input().rstrip() 移除:details here。我建议你升级(它在3.2.1中得到了很快的修复)。如果你不能:

    extract($_POST);
         switch($_POST['item']){
         case "Course1":
         $price=45;
         $total= ($qty*$price).'$';
         $arr=array('price'=>'45$','total'=>$total);
         break;

         case "Course2":
         $price=30;
         $total= ($qty*$price).'$';
         $arr=array('price'=>'30$','total'=>$total);
         break;
        }

答案 1 :(得分:-3)

input()返回一个字符串

所以不需要使用str(input())

或者您可以使用

hitTest::