TypeError: недостаточно аргументов для строки формата в print () - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь написать программу для записи файла:

print("Team %s, %s\t\t\t\tWon %s\t\t\tLost %s\t\t\tPercentage $%.3f"%(team,won,lost,perc))

, но когда я запускаю ее, она продолжает говорить:

TypeError: not enough arguments for format string

Есть способ исправить это?

Ответы [ 2 ]

2 голосов
/ 26 мая 2020

Вы дали ему пять переменных для форматирования или пять мест, которые вы использовали % в своей строке, но вы передаете ему только четыре переменные, чтобы заполнить его (team,won,lost,perc). Вам нужно либо удалить %s из вашей строки, либо передать ему другую переменную.

print("Team %s, %s\t\t\t\tWon %s\t\t\tLost, %s\t\t\tPercentage $%.3f"%(team,won,lost,lost,perc))

Возможно, это было то, что вы намеревались.

1 голос
/ 03 июня 2020
print("Team %s, %s\t\t\t\tWon %s\t\t\tLost %s\t\t\tPercentage $%.3f"%(team,won,lost,perc))

Здесь вы используете спецификатор формата % 5 раз в функции печати и предоставляете только 4 аргумента (команда, победа, поражение, на c), поэтому

TypeError: not enough arguments for format string

Либо вы должны предоставить 5 аргументов

print("Team %s, %s\t\t\t\tWon %s\t\t\tLost %s\t\t\tPercentage $%.3f"%(team,won,argument,lost,perc))

, либо вы могли ошибочно указать 2-й %s. Таким образом, правильный формат может быть

print("Team %s, \t\t\t\tWon %s\t\t\tLost %s\t\t\tPercentage $%.3f"%(team,won,argument,lost,perc))

Надеюсь, это вам поможет: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...