Flubbed it in the second interation through the string: range error... HOW?
Thomas Passin
list1 at tompassin.net
Wed May 29 01:14:07 EDT 2024
Your code is unreadable. The lines have all run together. And after
that, kindly explain what you want your code sample to do. "Process"
doesn't say much.
From what I can make out about what you are trying to do, you would do
better to index through your string with
for i, chr in enumerate(name):
# do something with the character
Also, it's 2024 ... time to start using f-strings (because they are more
readable than str.format())
On 5/29/2024 12:33 AM, Kevin M. Wilson via Python-list wrote:
> The following is my effort to understand how to process a string, letter, by letter:
> def myfunc(name): index = 0 howmax = len(name) # while (index <= howmax): while (index < howmax): if (index % 2 == 0): print('letter to upper = {}, index {}!'.format(name[index], index)) name = name[index].upper() print('if block {} and index {}'.format(name[index], index)) elif (index % 2 > 0): print(index) print('Start: elseif block, index is {}, letter is {}'.format(index, name)) # print('letter to lower = {}'.format(name[index])) # print('Already lowercase do noting: name = {}'.format(name[index])) index += 1 # index = name.upper()
> return name
> myfunc('capitalism')
> Error message: Not making sense, index is 1, letter s/b 'a'letter to upper = c, index 0!
> if block C and index 0
> 1
> Start: elseif block, index is 1, letter is C
> ---------------------------------------------------------------------------
> IndexError Traceback (most recent call last)
> Cell In[27], line 21
> 17 # index = name.upper()
> 19 return name
> ---> 21 myfunc('capitalism')
>
> Cell In[27], line 8, in myfunc(name)
> 6 while (index < howmax):
> 7 if (index % 2 == 0):
> ----> 8 print('letter to upper = {}, index {}!'.format(name[index], index))
> 9 name = name[index].upper()
> 10 print('if block {} and index {}'.format(name[index], index))
>
> IndexError: string index out of range***************************************************
> So, I'm doing something... Stupid!!
> ***************************************************
> "When you pass through the waters, I will be with you: and when you pass through the rivers, they will not sweep over you. When you walk through the fire, you will not be burned: the flames will not set you ablaze."
> Isaiah 43:2
More information about the Python-list
mailing list