# Tuples !?!?

Discussion in 'Python' started by aaragao@gmail.com, Dec 11, 2007.

1. ### Guest

Hi,

Is the tuple comparison brooked in python ?!?!?

Thanks.

Try this and you will see funny things:

# -*- coding: cp1252 -*-
import random
import csv
import struct
import array

def gera_string(res):

# acampo3
acampo3=((0,5,'muito reduzidos'),(6,20,'reduzidos'),
(21,32,'satisfatórios'),(33,40,'bons'),(41,45,'excelentes'))
# acampo4
# acampo5
# acampo6
# acampo7
acampo7=((0,2,'pouco'),(3,4,'bastante'),(5,5,'quase sempre'))
# acampo8
acampo8=((0,4,'mal'),(5,9,'satisfatoriamente'),(10,10,'de forma
exemplar'))
# acampo9
acampo9=((0,2,'muito reduzidos'),(3,4,'reduzidos'),
# acampo10
acampo10=((0,2,'pouco'),(3,4,'bastante'),(5,5,'muito'))
# acampo11
acampo11=((0,2,'muito pouco'),(3,4,'pouco'),(5,8,'bastante'),
(9,10,'grande'))

campo1=res[0]
campo2=res[1]
campo3=res[2]
campo4=res[3]
campo5=res[4]
campo6=res[5]
campo7=res[6]
campo8=res[7]
campo9=res[8]
campo10=res[9]
campo11=res[10]

for a in acampo3:
x=a[0]
y=res[2]
z=a[1]
print x
print y
print z
print x < y
print y < z
print z < y
if a[0] <= res[2] <= a[1]:
campo3=a[2]

for a in acampo4:
if (res[3]>=a[0] and res[3]<=a[1]):
campo4=a[2]

for a in acampo5:
if (res[4]>=a[0] and res[4]<=a[1]):
campo5=a[2]

for a in acampo6:
if (res[5]>=a[0] and res[5]<=a[1]):
campo6=a[2]

for a in acampo7:
if (res[6]>=a[0] and res[6]<=a[1]):
campo7=a[2]

for a in acampo8:
if (res[7]>=a[0] and res[7]<=a[1]):
campo8=a[2]

for a in acampo9:
if (res[8]>=a[0] and res[8]<=a[1]):
campo9=a[2]

for a in acampo10:
if (res[9]>=a[0] and res[9]<=a[1]):
campo10=a[2]

for a in acampo11:
if (res[10]>=a[0] and res[10]<=a[1]):
campo11=a[10]

...

return frase

# processar

f=open('leituras.csv','rb')
csv.register_dialect('dialecto', delimiter=';',
quoting=csv.QUOTE_NONE)

for res in leitor:
print res
print gera_string(res)

f.close()

quit()

, Dec 11, 2007

2. ### Grant EdwardsGuest

On 2007-12-11, <> wrote:
> Hi,
>
> Is the tuple comparison brooked in python ?!?!?

No.

> Thanks.

You're welcome.

> Try this and you will see funny things:

No thanks.

Maybe you could to post a smaller, easier to read example of
what you think is broken?

--
Grant Edwards grante Yow! I demand IMPUNITY!
at
visi.com

Grant Edwards, Dec 11, 2007

3. ### Bruno DesthuilliersGuest

a écrit :
> Hi,
>
> Is the tuple comparison brooked in python ?!?!?

Given the size and average level of the user base, I think this would
have been noticed.

>
> Try this

If you hope anyone to try anything, please post the *minimal* working
code showing the problem. And while your at it, also explain the
expected result.

> and you will see funny things:

Sorry but the only thing I see so far is that your code needs refactoring.

Bruno Desthuilliers, Dec 11, 2007
4. ### Berco BeuteGuest

> > Is the tuple comparison brooked in python ?!?!?
>
> No.
>
> > Thanks.

>
> You're welcome.

HHH! That just made my day. Too funny.

2B

Berco Beute, Dec 11, 2007
5. ### Guest

Ok. This is small code.

The problem is '2' != 2 there is a way of converting 'some number' in
number ?

Thanks.

# -*- coding: cp1252 -*-
import random
import csv
import struct
import array

# resultados para colocar nos campos
def gera_string(res):

# acampo3
acampo1=((0,5,'muito reduzidos'),(6,20,'reduzidos'),
(21,32,'satisfatórios'),(33,40,'bons'),(41,45,'excelentes'))
campo1=''

for a in acampo1:
print res[1]
if (res[1]>=a[0] and res[1]<=a[1]):
campo1=a[2]

return campo1

# processar

res=['a','2']

print gera_string(res)

quit()

On 11 Dez, 20:40, Bruno Desthuilliers
<> wrote:
> a écrit :
>

> > Hi,

>
> > Is the tuple comparison brooked in python ?!?!?

>
> Given the size and average level of the user base, I think this would
> have been noticed.
>
>
>
> > Try this

>
> If you hope anyone to try anything, please post the *minimal* working
> code showing the problem. And while your at it, also explain the
> expected result.
>
> > and you will see funny things:

>
> Sorry but the only thing I see so far is that your code needs refactoring.

, Dec 11, 2007
6. ### Guest

On 11 Dez, 22:02, wrote:
> Ok. This is small code.
>
> The problem is '2' != 2 there is a way of converting 'some number' in
> number ?
>
> Thanks.
>
> # -*- coding: cp1252 -*-
> import random
> import csv
> import struct
> import array
>
> # resultados para colocar nos campos
> def gera_string(res):
>
> # acampo3
> acampo1=((0,5,'muito reduzidos'),(6,20,'reduzidos'),
> (21,32,'satisfatórios'),(33,40,'bons'),(41,45,'excelentes'))
> campo1=''
>
> for a in acampo1:
> print res[1]
> if (res[1]>=a[0] and res[1]<=a[1]):
> campo1=a[2]
>
> return campo1
>
> # processar
>
> res=['a','2']
>
> print gera_string(res)
>
> quit()
>
> On 11 Dez, 20:40, Bruno Desthuilliers
>
> <> wrote:
> > a écrit :

>
> > > Hi,

Thanks. I have found that there is int() function on python. The print
function always show me a number when was 'number'. Ok thanks.

> > > Is the tuple comparison brooked in python ?!?!?

>
> > Given the size and average level of the user base, I think this would
> > have been noticed.

>
> > > Try this

>
> > If you hope anyone to try anything, please post the *minimal* working
> > code showing the problem. And while your at it, also explain the
> > expected result.

>
> > > and you will see funny things:

>
> > Sorry but the only thing I see so far is that your code needs refactoring.

, Dec 11, 2007
7. ### Guest

On 12/11/2007 5:08 PM, wrote:

> On 11 Dez, 22:02, wrote:
>> Ok. This is small code.
>>
>> The problem is '2' != 2 there is a way of converting 'some number' in
>> number ?
>>

<snip>

>>> ord('2')

50
>>> chr(50) == '2'

True
>>> int('2')

2
>>> int('2') == 2

True
>>>

, Dec 11, 2007
8. ### Bruno DesthuilliersGuest

a écrit :
> Ok. This is small code.
>
> The problem is '2' != 2

It would indeed be a problem if this expression eval'd to True. That's
the case in some, hem, 'languages', and believe me it's *not* the
RightThing.

> there is a way of converting 'some number' in
> number ?

assert(2 == int(2))

Bruno Desthuilliers, Dec 12, 2007
9. ### Bjoern SchliessmannGuest

Bruno Desthuilliers wrote:
> a écrit :

>> The problem is '2' != 2

>
> It would indeed be a problem if this expression eval'd to True.
> That's the case in some, hem, 'languages', and believe me it's
> *not* the RightThing.

What kind of "hem" language is this?

>>> '2' != 2

True
>>>

Regards,

Björn

--
BOFH excuse #430:

Mouse has out-of-cheese-error

Bjoern Schliessmann, Dec 12, 2007
10. ### Bruno DesthuilliersGuest

Bjoern Schliessmann a écrit :
> Bruno Desthuilliers wrote:
>
>> a écrit :

>
>
>>>The problem is '2' != 2

>>
>>It would indeed be a problem if this expression eval'd to True.
>>That's the case in some, hem, 'languages', and believe me it's
>>*not* the RightThing.

>
>
> What kind of "hem" language is this?

>
>>>>'2' != 2

>
> True

hem... Sorry, I of course meant that it would be a problem if '2' == 2
eval'd to true - or '2' != 2 eval'd to false. My bad...

Thanks for the correction anyway.

Ah, and, yes, the 'hem' language I was thinking about has a three
letters recursive acronym for name and is widely (and mostly) used for
web applications. Should I spell the name, or did you guess ?-)

Bruno Desthuilliers, Dec 12, 2007
11. ### Guest

occurs automatic but it is not case. I'm a newbie on python. Thanks to
everybody. ;-)

On 12 Dez, 19:43, Bruno Desthuilliers
<> wrote:
> Bjoern Schliessmann a écrit :
>
>
>
> > Bruno Desthuilliers wrote:

>
> >> a écrit :

>
> >>>The problem is '2' != 2

>
> >>It would indeed be a problem if this expression eval'd to True.
> >>That's the case in some, hem, 'languages', and believe me it's
> >>*not* the RightThing.

>
> > What kind of "hem" language is this?

>
> >>>>'2' != 2

>
> > True

>
> hem... Sorry, I of course meant that it would be a problem if '2' == 2
> eval'd to true - or '2' != 2 eval'd to false. My bad...
>
> Thanks for the correction anyway.
>
> Ah, and, yes, the 'hem' language I was thinking about has a three
> letters recursive acronym for name and is widely (and mostly) used for
> web applications. Should I spell the name, or did you guess ?-)

, Dec 12, 2007
12. ### Dennis Lee BieberGuest

On Wed, 12 Dec 2007 19:36:49 +0100, Bjoern Schliessmann
<> declaimed the following
in comp.lang.python:

> What kind of "hem" language is this?
>

REXX for one...
/* */
say "2" = 2
say "2" = 3
say 2 = 3
say 2 = 2
-=-=-=-=-=
C:\Regina>rexx t.rx
1
0
0
1

C:\Regina>
--
Wulfraed Dennis Lee Bieber KD6MOG

HTTP://wlfraed.home.netcom.com/
(Bestiaria Support Staff: )
HTTP://www.bestiaria.com/

Dennis Lee Bieber, Dec 13, 2007
13. ### JasonGuest

On Dec 11, 3:08 pm, wrote:
> On 11 Dez, 22:02, wrote:
>
> > Ok. This is small code.

>
> > The problem is '2' != 2 there is a way of converting 'some number' in
> > number ?

>
> > Thanks.

>
> > # -*- coding: cp1252 -*-
> > import random
> > import csv
> > import struct
> > import array

>
> > # resultados para colocar nos campos
> > def gera_string(res):

>
> > # acampo3
> > acampo1=((0,5,'muito reduzidos'),(6,20,'reduzidos'),
> > (21,32,'satisfatórios'),(33,40,'bons'),(41,45,'excelentes'))
> > campo1=''

>
> > for a in acampo1:
> > print res[1]
> > if (res[1]>=a[0] and res[1]<=a[1]):
> > campo1=a[2]

>
> > return campo1

>
> > # processar

>
> > res=['a','2']

>
> > print gera_string(res)

>
> > quit()

>
> > On 11 Dez, 20:40, Bruno Desthuilliers

>
> > <> wrote:
> > > a écrit :

>
> > > > Hi,

>
> Thanks. I have found that there is int() function on python. The print
> function always show me a number when was 'number'. Ok thanks.
>
> > > > Is the tuple comparison brooked in python ?!?!?

>
> > > Given the size and average level of the user base, I think this would
> > > have been noticed.

>
> > > > Try this

>
> > > If you hope anyone to try anything, please post the *minimal* working
> > > code showing the problem. And while your at it, also explain the
> > > expected result.

>
> > > > and you will see funny things:

>
> > > Sorry but the only thing I see so far is that your code needs refactoring.

Python objects have two ways of representing themselves. The print
statement converts the objects in it into strings. Python objects can
also have a representative string which should give you enough
information to determine if you're dealing with a number or a string.
You can get this representative string via the repr() built-in
function. To get the normal string of an object, the str() built-in
will perform the conversion.

If you're using the string formatting operator (%), the "%s" specifier
will use the normal string, while the "%r" specifier will use the
representative string.

Please note that repr() will show you *all* the digits of a floating
point number, while the normal string conversion may round. This is
because floating-point numbers cannot represent most decimal exactly.
This isn't a flaw in Python, but a flaw in all IEEE floating-point

If you're using Python interactively, Python will display the results
of expressions with their representative strings.

For example:
>>> 5

5
>>> '5'

'5'
>>> 0.1

0.10000000000000001
>>> print '5', 5

5 5
>>> print repr('5'), repr(5)

'5' 5
>>> print 'Normal Strings: %s, %s, %s' % ('5', 5, 0.1)

Normal Strings: 5, 5, 0.1
>>> print 'Repr Strings: %r, %r, %r' % ('5', 5, 0.1)

Repr Strings: '5', 5, 0.10000000000000001
>>>

Jason, Dec 13, 2007