On 04/15/2015 08:21 AM, Ken G. wrote:
When running the following code, I get the following
error code:

201504110102030405061
Traceback (most recent call last):
   File "Mega_Millions_Tickets_Change.py", line 11, in <module>
     datecode[20:21] = "0"
TypeError: 'str' object does not support item assignment

A 'str' object is immutable, which means simply that you cannot modify it in place. All you can do is create a new str object, and rebind your variable to that new one. That means that there are a number of things you cannot do directly to a string. One of them is modifying a slice, as you're trying to do.



datecode = "201504110102030405061"
print datecode
if datecode[20:21] == "1":
     datecode[20:21] = "0"
print datecode



I can see that the first part of this is probably a standard datetime, and might suggest you convert it to one, and modify that as needed. But you're so far to the right that I have to figure you're doing some custom encoding.

If you just want to replace a single character of a string, you could use the construct:

datecode = datecode[:20] + "0" + datecode[21:]

If you need something fancier, perhaps you can generalize it.

--
DaveA
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to