Как отформатировать аргумент внутри функции, но также вывести строку столько раз, сколько аргумент - PullRequest
0 голосов
/ 07 июля 2019

Я новичок и просто возился с функциями, и я подумал о коде ниже. Я хочу напечатать строки столько раз, сколько бы ни было значение a, но я также хочу отформатировать значение аргумента a внутри строки. Любая помощь будет принята с благодарностью!

def vhf(a):
    print "So i want this times %d "*a % a

vhf(5)

Когда я запускаю его, я получаю эту ошибку:

Traceback (most recent call last):
  File "p.py", line 4, in <module>
    vhf(5)
  File "p.py", line 2, in vhf
    print "...So i want this times %d "*a % a
TypeError: not enough arguments for format string

1 Ответ

2 голосов
/ 07 июля 2019

Когда вы умножаете строку на a, количество необходимых аргументов формата умножается на a. Вы можете переместить умножение на ПОСЛЕ форматирования, чтобы исправить вашу проблему.

def vhf(a):
    print "So i want this times %d " % a * a

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