Если вы используете Python 2.7, просто используйте raw_input функцию.
test = raw_input('This only takes a string as an answer: ')
Ie:
>>> test = raw_input('This only takes a string as an answer: ')
This only takes a string as an answer: 2.5
>>> type (test)
<type 'str'>
Если вы используете вход, вы можете иметь только номер: Правый вход:
>>> test = input('This only takes a number as an answer: ')
This only takes a string as an answer: 2.5
>>> type (test)
<type 'float'>
Неправильный вход:
>>> test = input('This only takes a number as an answer: ')
This only takes a number as an answer: word
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <module>
NameError: name 'word' is not defined
Может что помогает? [Python - как проверить, является ли ввод числом] (http://stackoverflow.com/questions/5424716/python-how-to-check-if-input-is-a-number-given-that-input-allways -returns-StrI). – mins