Re: Flubbed it in the second interation through the string: range error... HOW?

Liste des GroupesRevenir à cl python 
Sujet : Re: Flubbed it in the second interation through the string: range error... HOW?
De : list1 (at) *nospam* tompassin.net (Thomas Passin)
Groupes : comp.lang.python
Date : 29. May 2024, 07:14:07
Autres entêtes
Message-ID : <mailman.54.1716960627.2909.python-list@python.org>
References : 1 2 3
User-Agent : Mozilla Thunderbird
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

Date Sujet#  Auteur
29 May 24 o Re: Flubbed it in the second interation through the string: range error... HOW?1Thomas Passin

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal