On Aug 12, 2007, at 10:10 AM, Jeff Johnson wrote:

> This is my approach to the problem presented.  I would have used  
> arrays in
> FoxPro and lists seem to provide the same functionality (and more).
>
> How would I concatenate the "s" or "ies" at the end of the following
> statement"
>
>       print str(givetocustomer[lni]) + ' ' + money[lni]

        Generally you would use string formatting to do this. This is a  
Python skill that comes in extremely handy. It is also much more  
efficient, since it doesn't create several separate string objects,  
and then a new object as each piece is concatenated. Remember, in  
Python strings are immutable, so anything that "modifies" a string  
actually has to create an entirely new object.

        Your example could be written as:

print "%s %s" % (givetocustomer[lni]), money[lni])

        Note that you don't have to explicitly change the 'givetocustomer'  
value to a string; that's done by the formatting. You also have an un- 
Pythonic loop; it would be better written (without the Hungarian  
notation, too!):

        for pos, denom in denominations:
                 # floor division yields no decimals and no rounding
                 givetocustomer[pos] = change // denom
                 # modulus returns remainder
                 change = change % denom
                 if givetocustomer[pos] > 0:
                         if givetocustomer[pos] > 1:
                                 print str(givetocustomer[pos]) + ' ' + 
moneys[pos]
                         else:
                                 print str(givetocustomer[pos]) + ' ' + 
money[pos]

-- Ed Leafe
-- http://leafe.com
-- http://dabodev.com




_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-users
Searchable Archives: http://leafe.com/archives/search/dabo-users
This message: http://leafe.com/archives/byMID/dabo-users/[EMAIL PROTECTED]

Reply via email to