【问题标题】:Index Error: Tuple Index Out Of Range索引错误:元组索引超出范围
【发布时间】:2015-12-06 01:40:15
【问题描述】:
for count in range(10,60,10):
    myWidth = 30 - count
    mywidth2 = myWidth + 30
    myCharacter = '#'
    print('{0:>{width}}''{6:<{width2}}'.format(
            myCharacter, width=myWidth, width2=mywidth2))

你能帮我吗?我是新手,我想知道为什么会出现这个错误

详细错误

Traceback (most recent call last):
File "C:/Users/~compname~/Desktop/Game.py", line 5, in <module>
print('{0:>{width}}''{6:<{width2}}'.format(myCharacter, width = myWidth,  width2 = mywidth2))
IndexError: tuple index out of range

【问题讨论】:

  • 顺便说一句,我正在尝试使用格式和宽度变量制作圣诞树!

标签: python-3.x


【解决方案1】:

格式中的6 表示使用格式参数列表中的第7 个位置参数,并且没有这样的参数。这是同一错误的简化版本。

>>> '{1}'.format(1)
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    '{1}'.format(1)
IndexError: tuple index out of range

6 更改为0 以再次使用相同的字符,并添加括号来分隔输出

for count in range(10,60,10):
    myWidth = 30 - count
    mywidth2 = myWidth + 30
    myCharacter = '#'
    print('[{0:>{width}}{0:<{width2}}]'.format(
            myCharacter, width=myWidth, width2=mywidth2))

一个得到

[                   ##                                                 ]
[         ##                                       ]
[##                             ]
Traceback (most recent call last):
  File "F:\Python\mypy\tem.py", line 6, in <module>
    myCharacter, width=myWidth, width2=mywidth2))
ValueError: Sign not allowed in string format specifier

换句话说,负宽度字段没有意义。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多