2015-12-24 2 views
0

Может кто-нибудь пролить некоторый свет на то, почему:Что означает индекс tuple вне диапазона?

print('{0} complete (down: {1} kb/s up: {2} kb/s {3} peers: {4} {5}'.format('state.progress * 100', 'state.download_rate/1000', 'state.upload_rate/1000', 'state.num_peers', 'state_str[state.state]')) 

Результаты в индексе кортежа из диапазона?

+2

Вы не имеют индекс 5 элемент. –

+0

вы назвали {5}, где, поскольку вы только дали 5 элементов. Таким образом, индекс кортежа выходит за пределы диапазона – The6thSense

+0

В возможно более разговорчивых словах у вас нет элемента _with index 5_. Технически индекс 4 является «пятым» элементом, если вы не подсчитаете «нулевой» элемент. – Arc676

ответ

4

Вы не имеете элемент «пятый» (или, скорее, индекс 5), потому что первый элемент имеет индекс 0.

Поэтому вы должны иметь 6 элементов нужно использовать индекс 5.

print('{0} complete (down: {1} kb/s up: {2} kb/s {3} peers: {4} {5}'.format('state.progress * 100', 'state.download_rate/1000', 'state.upload_rate/1000', 'state.num_peers', 'state_str[state.state]')) 

Здесь ваши элементы:

0: 'state.progress * 100' 
1: 'state.download_rate/1000' 
2: 'state.upload_rate/1000' 
3: 'state.num_peers' 
4: 'state_str[state.state]' 
5: nil 
+0

Я буду величайшим программистом на питоне в мире. Как только я научусь считать. – user34981

+0

Не могли бы вы рассказать о том, как заставить печать отображать до двух десятичных точек в python3? – user34981

+0

a) Это новый вопрос. B) Это легко найти при поиске – Arc676

Смежные вопросы