Что означает, что вы предоставляете пронумерованное размещение для первых двух аргументов {0}
и {1}
, а затем внезапно появляется один без позиционного номера, поэтому он не может экстраполировать, какой из них поместить туда. (Как и в случае нумерации, они могут быть в любом порядке или повторяться). Поэтому необходимо убедиться, что последний элемент также пронумерован.
print "{0}/{1} = {2:.0%}".format('1', '3', 1/3)
В качестве альтернативы, пусть он вычисляет расположение аргументов формата:
print("{}/{} = {:.0%}".format('1', '3', 1/3))