[New-bugs-announce] [issue9961] Identity Crisis! variable assignment using strftime fails comparison test.

Bill Hawkes report at bugs.python.org
Mon Sep 27 17:30:23 CEST 2010


New submission from Bill Hawkes <williamhawkesjr at yahoo.com>:

See below. When variable assignment is used with strftime for the day of the week, it fails comparison checks for the days of the week. Even when using the str() function it still fails. Manual entry of variable assignment is required for a successful comparison. This pretty well defeats the purpose of computer programming (automation). There seems to be a real identity crisis here!

$ python3
Python 3.0rc1+ (py3k, Oct 28 2008, 09:23:29) 
[GCC 4.3.2] on linux2
>>> import time
>>> from datetime import date
>>> today = date.today()
>>> print("This line will always print")
This line will always print
>>> myday = today.fromordinal(today.toordinal() - 31)
>>> printthis = myday.strftime("%m-%d-%y. %d %b %Y is a %A on the %d day of %B.")
>>> print("%s" % printthis)
08-27-10. 27 Aug 2010 is a Friday on the 27 day of August.
>>> # dow is Day Of Week variable
... dow = myday.strftime("%A")
>>> chkval = dow
>>> dow is chkval
True
>>> print("dow is %s" % dow)
dow is Friday
>>> print("chkval is %s" % chkval)
chkval is Friday
>>> print("%s" % dow)
Friday
>>> print("%s" % chkval)
Friday
>>> dow is chkval
True
>>> if dow is 'Sunday':
...    cntbck = 0
... elif dow is 'Monday':
...    cntbck = 1
... elif dow is 'Tuesday':
...    cntbck = 2
... elif dow is 'Wednesday':
...    cntbck = 3
... elif dow is 'Thursday':
...    cntbck = 4
... elif dow is 'Friday':
...    cntbck = 5
... elif dow is 'Saturday':
...    cntbck = 6
... else:
...    cntbck = 'undefined'
...    print("What day is it? It is %s" % dow)
... 
What day is it? It is Friday
>>> print('finished with script')
finished with script
>>> dow is 'Friday'
False
>>> dow = 'Friday'
>>> dow is 'Friday'
True
>>> chkval
'Friday'
>>> dow
'Friday'
>>> chkval is dow
False
>>>  chkval is 'Friday'
False
>>> chkval
'Friday'
>>> chkval = str(chkval)
>>> chkval
'Friday'
>>> chkval is 'Friday'
False
>>> cntbck
'undefined'
>>>

----------
components: Interpreter Core
messages: 117449
nosy: BillHawkes
priority: normal
severity: normal
status: open
title: Identity Crisis! variable assignment using strftime fails comparison test.
type: behavior
versions: Python 3.1

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue9961>
_______________________________________


More information about the New-bugs-announce mailing list