Mailing List Archive

IndexError: tuple index out of range
My simple python script gives me an error when I try to execute it. Here is
the error message:

daniel@ibex:~/Desktop/python$ python3 str_format2Daniel.py
> Traceback (most recent call last):
> File "str_format2Daniel.py", line 8, in <module>
> print ("{0} is {1} years old {3} and ".format(name, age, append))
> IndexError: tuple index out of range
> daniel@ibex:~/Desktop/python$
>

Here is my script:

#!/usr/bin/python
> # Filename: str_format2.py
>
> age = 23
> name = 'Daniel'
> append = '6 months'
>
> print ("{0} is {1} years old {3} and ".format(name, age, append))
> print ('{0} will be an elite python programmer in {2}.'.format(name,
> append))


What am I doing wrong?
Re: IndexError: tuple index out of range [ In reply to ]
Invert wrote:
> My simple python script gives me an error when I try to execute it.
> Here is the error message:
>
> daniel@ibex:~/Desktop/python$ python3 str_format2Daniel.py
> Traceback (most recent call last):
> File "str_format2Daniel.py", line 8, in <module>
> print ("{0} is {1} years old {3} and ".format(name, age, append))
> IndexError: tuple index out of range
> daniel@ibex:~/Desktop/python$
>
>
> Here is my script:
>
> #!/usr/bin/python
> # Filename: str_format2.py
>
> age = 23
> name = 'Daniel'
> append = '6 months'
>
> print ("{0} is {1} years old {3} and ".format(name, age, append))

That should be:

print ("{0} is {1} years old {2} and ".format(name, age, append))

> print ('{0} will be an elite python programmer in {2}.'.format(name,
> append))
>
>
> What am I doing wrong?
>


--
http://mail.python.org/mailman/listinfo/python-list
Re: IndexError: tuple index out of range [ In reply to ]
MRAB wrote:
> Invert wrote:
>> My simple python script gives me an error when I try to execute it.
>> Here is the error message:
>>
>> daniel@ibex:~/Desktop/python$ python3 str_format2Daniel.py
>> Traceback (most recent call last):
>> File "str_format2Daniel.py", line 8, in <module>
>> print ("{0} is {1} years old {3} and ".format(name, age, append))
>> IndexError: tuple index out of range
>> daniel@ibex:~/Desktop/python$
>>
>>
>> Here is my script:
>>
>> #!/usr/bin/python
>> # Filename: str_format2.py
>>
>> age = 23
>> name = 'Daniel'
>> append = '6 months'
>>
>> print ("{0} is {1} years old {3} and ".format(name, age, append))
>
> That should be:
>
> print ("{0} is {1} years old {2} and ".format(name, age, append))

Actually
print ("{0} is {1} years old and {2}".format(name, age, append))

>
>> print ('{0} will be an elite python programmer in {2}.'.format(name,
>> append))

And the latter should replace 2 with 1.

>> What am I doing wrong?

Using position indexes that are too large. In Py3.1, .format will
auto-number fields, so the print statements could be

print("{} is {} years old and {}".format(name, age, append))
print ('{} will be an elite python programmer in {}.'.format(name, append))

Terry Jan Reedy


--
http://mail.python.org/mailman/listinfo/python-list