python中的输入无法识别

时间:2017-12-09 21:01:38

标签: python function input

我在一小时前在我的一个python程序中添加了一个输入函数,并使用:

public void func(View view)
{
    EditText textfield=(EditText) findViewById(R.id.input);
    String msg =textfield.getText().toString();
    HashMap<Character,Character> mapping=new HashMap<Character,Character>();
    mapping.put('a','.');
    mapping.put('b',',');
    mapping.put('c','p');
    mapping.put('d','q');
    mapping.put('e','g');
    mapping.put('f','7');
    mapping.put('g','0');
    mapping.put('h','a');
    mapping.put('i','f');
    mapping.put('j','i');
    mapping.put('k','z');
    mapping.put('l','o');
    mapping.put('m','r');
    mapping.put('n','y');
    mapping.put('o','x');
    mapping.put('p','-');
    mapping.put('q','*');
    mapping.put('r','_');
    mapping.put('s','w');
    mapping.put('t','b');
    mapping.put('u','l');
    mapping.put('v','e');
    mapping.put('w','h');
    mapping.put('x','j');
    mapping.put('y','v');
    mapping.put('z','6');
    int len=msg.length();
    helper a=new helper();
    for(int i=0;i<len;i++)
    {

        if(msg.charAt(i)>=97&&msg.charAt(i)<=122)
           a.answer[i] = mapping.get(msg.charAt(i));
        else
        a.answer[i]=msg.charAt(i);
    }
    msg=a.toString();
    //now encoded string is ready
   TextView out=(TextView) findViewById(R.id.output);
    out.setText(msg);





}
class helper{
    public char[] answer;
     public String toString(){
         return " "+answer;
     }
}

我收到了这个非常烦人的错误消息,我不明白:“hi”无法识别。 PS。 “嗨是我在输入框中写的”。

我不明白为什么input()不再有效。它应该像以前一样工作。我进入了我的主python文件夹,并尝试从前一段时间运行另一个程序,其中有一个输入,并得到相同的结果 - 所有带有input()的程序都在之前工作!为什么dosen't python不再能识别输入函数是什么?真的很奇怪。

我已经在互联网上搜索了一个答案,但没有结果,我来堆栈溢出寻求帮助。

与此同时,我无能为力。我现在很困惑。

1 个答案:

答案 0 :(得分:0)

正如Mehdi Pourfar所说,你应该在python2中使用raw_input,在python3中使用input

python2

> help(input)
input(...)
    input([prompt]) -> value

    Equivalent to eval(raw_input(prompt)).

python3

> help(input)
input(prompt=None, /)
    Read a string from standard input.  The trailing newline is stripped.
    ...

python2中input的示例

>>> def foo(): print('foo called')
... 
>>> input('> ')
> bar
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1, in <module>
NameError: name 'bar' is not defined
>>> input('> ')
> foo
<function foo at 0x7f24ff7ee6e0>
>>> input('> ')
> foo()
foo called