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
    acampo4=((0,2,'reduzidos'),(3,4,'medianos'),(5,5,'elevadas'))
    # acampo5
    acampo5=((0,2,'reduzidos'),(3,4,'médias'),(5,5,'elevados'))
    # acampo6
    acampo6=((0,2,'fracos'),(3,4,'satisfatórios'),(5,5,'elevados'))
    # 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'),
    (5,8,'satisfatórios'),(9,10,'elevados'))
    # 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)
    leitor =csv.reader(f,'dialecto')

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

    f.close()

    quit()
     
    , Dec 11, 2007
    #1
    1. Advertising

  2. 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
    #2
    1. Advertising

  3. 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
    #3
  4. Berco Beute Guest

    > > 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
    #4
  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
    #5
  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
    #6
  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
    #7
  8. 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))

    Anything else about tuples ?-)
     
    Bruno Desthuilliers, Dec 12, 2007
    #8
  9. 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
    #9
  10. 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
    #10
  11. Guest

    Ok people. No more discussions about this. I tought the conversion
    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
    #11
  12. 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
    #12
  13. Jason Guest

    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
    hardware (ie, your processor).

    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
    #13
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Jeff Kish
    Replies:
    11
    Views:
    808
    Jeff Kish
    Oct 21, 2004
  2. Replies:
    5
    Views:
    560
    Thomas J. Gritzan
    Oct 6, 2006
  3. tuples within tuples

    , Oct 26, 2007, in forum: Python
    Replies:
    12
    Views:
    583
    Dennis Lee Bieber
    Oct 27, 2007
  4. xera121
    Replies:
    8
    Views:
    729
    lolmc
    Sep 30, 2009
  5. Jon Reyes
    Replies:
    18
    Views:
    240
    Mitya Sirenef
    Feb 19, 2013
Loading...

Share This Page