Accepting text input
Kam-Hung Soh
kamhung.soh at gmail.com
Tue May 13 23:04:39 EDT 2008
On Wed, 14 May 2008 11:02:36 +1000, Collin <collinyeung at shaw.ca> wrote:
> Gabriel Genellina wrote:
>> En Mon, 12 May 2008 01:54:28 -0300, Collin <collinyeung at shaw.ca>
>> escribió:
>>
>>> Collin wrote:
>>>> I'm pretty new to Python, but this has really bugged me. I can't find
>>>> a
>>>> way around it.
>>>>
>>>>
>>>> The problem is that, when I use raw_input("sajfasjdf") whatever, or
>>>> input("dsjfadsjfa"), you can only have numerical values as answers.
>>>>
>>>> Any help would be appreciated. Thanks.
>>>
>>> Oh, wow. I feel so stupid. Please disregard this message. <_<
>> No need to apologize...
>>
>>> I read the error message just now a bit more carefully, and I tried
>>> something. I tried defining "yes" as some random numerical value. Then
>>> when I did:
>>> (example code)
>>>
>>> yes = 123123983 #some number
>>> test = input("Test test test ")
>>> if test == yes:
>>> print "It worked."
>>> else:
>>> print "failed"
>>>
>>> (example code off)
>> The usual way for Python<3.0 is:
>> answer = raw_input("Test test test ").lower()
>> if answer == "yes":
>> ...
>> The input() function evaluates user input as an expression: if he
>> types 2+5 the input() function returns the integer 7. I would never use
>> input() in a program - it's way too unsafe; use always raw_input
>> instead.
>>
>
> If I use it like that, do I have to import anything to have the .lower()
> work? And if I do, what does the .lower() signify?
> --
> http://mail.python.org/mailman/listinfo/python-list
>
You don't need to import any module to use ".lower()"; it is a method of a
string. raw_input() returns a string, so you can use methods of a string.
Try the following statement to see what happens:
"ABCDE".lower()
--
Kam-Hung Soh <a href="http://kamhungsoh.com/blog">Software Salariman</a>
More information about the Python-list
mailing list