[Tutor] CGI Calculator

Eric Brunson brunson at brunson.com
Tue Jul 17 04:28:20 CEST 2007


Here's a start by Guido:  http://docs.python.org/tut/tut.html

And here's a bunch more:  http://www.python.org/doc/Intros.html

I'm not sure of your level of expertise, so I can't recommend any of 
them in particular.

Darren Williams wrote:
> That's just printing Tokens: 1 Tokens: 2 ... Tokens: 6000 etc...
>
> Can you recommend any tutorials for me?
>  
> ----- Original Message ----- 
> From: "Eric Brunson" <brunson at brunson.com>
> To: "Darren Williams" <D3IBZ at hotmail.com>
> Cc: <tutor at python.org>
> Sent: Monday, July 16, 2007 2:48 PM
> Subject: Re: [Tutor] CGI Calculator
>
>
>   
>> Darren Williams wrote:
>>     
>>> Now another problem - the script is just printing the word 'Tokens' 
>>> over and over again, it's supposed to work like this (JavaScript 
>>> version made by me) - http://nazkyn.brinkster.net/1.8.html
>>>
>>> Thanks in advance for any help :)
>>>       
>> It's doing exactly what you've told it to do:
>>
>>   while usedPockets > totalJunkies - labSpace * 17:
>>       Tokens = Tokens + 1
>>       usedPockets = (usedPockets - totalJunkies + labSpace) * 17
>>       totalJunkies = totalJunkies + 1
>>       print "Tokens"
>>
>> The print statement is inside the while loop and you've quoted the work 
>> "Tokens" so it's printing the string rather than the variable.
>>
>> How about grabbing a short tutorial on Python and reading through it to 
>> better understand the differences between Python and Javascript.  If 
>> you're an experienced JS programmer it shouldn't take very long.
>>
>> This is probably closer is what I infer you're looking for:
>>
>>   while usedPockets > totalJunkies - labSpace * 17:
>>       Tokens = Tokens + 1
>>       usedPockets = (usedPockets - totalJunkies + labSpace) * 17
>>       totalJunkies = totalJunkies + 1
>>   print "Tokens: %s" % Tokens
>>
>> e.
>>
>>     
>>> ----- Original Message ----- From: "Eric Brunson" <brunson at brunson.com>
>>> To: "Darren Williams" <D3IBZ at hotmail.com>
>>> Cc: <tutor at python.org>
>>> Sent: Monday, July 16, 2007 2:01 PM
>>> Subject: Re: [Tutor] CGI Calculator
>>>
>>>
>>>       
>>>> Darren Williams wrote:
>>>>         
>>>>> Ok, now i've modified my script but am getting another error, i've 
>>>>> commented a few useless (hopefully) lines out -
>>>>>
>>>>> #!/usr/bin/env python
>>>>>
>>>>> import cgitb; cgitb.enable()
>>>>> import cgi
>>>>>
>>>>>
>>>>>           
>>>> [snip]
>>>>         
>>>>>         17     while usedPockets > totalJunkies - labSpace * 17:
>>>>>
>>>>>         18         Tokens = Tokens + 1
>>>>>
>>>>>         19         usedPockets = (usedPockets - totalJunkies + 
>>>>> labSpace) * 17
>>>>>
>>>>>      usedPockets = '192000', totalJunkies = '200', labSpace = '0'
>>>>>
>>>>> TypeError: unsupported operand type(s) for -: 'str' and 'str'
>>>>>      args = ("unsupported operand type(s) for -: 'str' and 'str'",)
>>>>>
>>>>>           
>>>> What does "dog" - "cat" mean?  Similarly, what does "100" - "12" 
>>>> mean? It's not the same in Python as 100 - 12, because those are 
>>>> numbers, "100" and "12" are strings which happen to represent numbers.
>>>>
>>>> You need to coerce those strings into integers, maybe like this:
>>>>
>>>> usedPockets = int(form["usedPockets"].value)
>>>>
>>>> When you do that, you'll probably need to catch any exception that 
>>>> could occur if the string can't be converted.
>>>>
>>>>         
>>>>> It's confused me - it says I can't subtract a string from a string 
>>>>> but then gives the value's of the variables (that I randomly entered 
>>>>> into the form) at the bottom - usedPockets = '192000', totalJunkies 
>>>>> = '200', labSpace = '0'
>>>>>
>>>>>           
>>>>         
>>     



More information about the Tutor mailing list