While Statement

Joel Ross joelc at cognyx.com
Fri May 22 07:33:05 EDT 2009


Andre Engels wrote:
> On Fri, May 22, 2009 at 12:35 PM, Joel Ross <joelc at cognyx.com> wrote:
> 
>> Im using 2.6 python and when running this
>>
>> class progess():
>>
>>    def __init__(self, number, total,  char):
>>
>>        percentage = float(number/total*100)
>>        percentage = int(round(percentage))
>>        char = char * percentage
>>        print char
>>
>> progess(100, 999,  "*")
>>
>> the "percentage = float(number/total*100)" always equals 0.0
>> any ideas way this would be?
> 
> You have to make the conversion of integer to float before the
> division. What you are calculating now is (take number = 998, total =
> 999)
> 
> number/total = 998/999 = 0
> number/total*100 = 0*100 = 0
> float(number/total*100) = float(0) = 0.0
> 
> Change "float(number/total*100)" to "float(number)/total*100" and it
> should work:
> 
> float(number) = float(998) = 998.0
> float(number)/total = 998.0/999 = 0.99899899899899902
> float(number)/total*100 = 0.99899899899899902 * 100 = 99.899899899899902
> 
> 
> 
changed it to "float(number)/total*100" and it worked thanks for all 
your help appreciated

thanks again



More information about the Python-list mailing list