Печать нескольких аргументов в Python

Это просто фрагмент моего кода:

print("Total score for %s is %s  ", name, score)

Но я хочу, чтобы он был распечатан:

"Общий балл для (имя) составляет (балл)"

где name - переменная в списке, а score - целое число. Это Python 3.3, если это хоть как-то поможет.

Существует множество способов сделать это. Чтобы исправить текущий код с помощью %-форматирования, вам нужно передать кортеж:

  1. Передать его в виде кортежа:

     print("Total score for %s is %s" % (name, score))

Кортеж с одним элементом выглядит как ('this',).

Вот некоторые другие распространенные способы:

  1. Передать его как словарь:

     print("Total score for %(n)s is %(s)s" % {'n': name, 's': score})

Также появилось форматирование строк в новом стиле, что может быть немного проще для чтения:

  1. Используйте форматирование строк в новом стиле:

     print("Общее количество очков для {} равно {}".format(name, score))
  2. Используйте новый стиль форматирования строк с числами (полезно для переупорядочивания или печати одного и того же числа несколько раз):

     print("Total score for {0} is {1}".format(name, score))
  3. Используйте форматирование строк в новом стиле с явными именами:

     print("Total score for {n} is {s}".format(n=name, s=score))
  4. Конкатенируйте строки:

     print("Total score for " + str(name) + " is " + str(score))

На мой взгляд, самые понятные два варианта:

  1. Просто передайте значения в качестве параметров:

     print("Total score for", name, "is", score)

    Если вы не хотите, чтобы пробелы автоматически вставлялись print в приведенном выше примере, измените параметр sep:

     print("Total score for ", name, "is", score, sep='')

    Если вы используете Python 2, вы не сможете использовать два последних варианта, потому что print не является функцией в Python 2. Однако вы можете импортировать это поведение из __future__:

     from __future__ import print_function
  2. Используйте новое форматирование f-строк в Python 3.6:

     print(f'Total score for {name} is {score}')
Комментарии (4)

Существует множество способов печати.

Позвольте'посмотрим с другой пример.

a = 10
b = 20
c = a + b

#Normal string concatenation
print("sum of", a , "and" , b , "is" , c) 

#convert variable into str
print("sum of " + str(a) + " and " + str(b) + " is " + str(c)) 

# if you want to print in tuple way
print("Sum of %s and %s is %s: " %(a,b,c))  

#New style string formatting
print("sum of {} and {} is {}".format(a,b,c)) 

#in case you want to use repr()
print("sum of " + repr(a) + " and " + repr(b) + " is " + repr(c))

EDIT :

#New f-string formatting from Python 3.6:
print(f'Sum of {a} and {b} is {c}')
Комментарии (1)

Использование: .формат():

print("Total score for {0} is {1}".format(name, score))

Или:

// Recommended, more readable code

print("Total score for {n} is {s}".format(n=name, s=score))

Или:

print("Total score for" + name + " is " + score)

Или:

`print("Total score for %s is %d" % (name, score))`
Комментарии (0)

В Python 3.6, Ф-строку гораздо чище.

В более ранней версии:

print("Total score for %s is %s. " % (name, score))

В Python 3.6:

print(f'Total score for {name} is {score}.')

будем делать.

Это более эффективно и элегантно.

Комментарии (0)

Если говорить проще, то мне лично нравится конкатенация строк:

print("Total score for " + name + " is " + score)

Он работает как с Python 2.7, так и с 3.X.

ПРИМЕЧАНИЕ: Если счет является int, то его следует преобразовать в str:

print("Total score for " + name + " is " + str(score))
Комментарии (0)

Просто попробуйте:

print("Total score for", name, "is", score)
Комментарии (0)

Просто следить за этим

idiot_type = "the biggest idiot"
year = 22
print("I have been {} for {} years ".format(idiot_type, years))

Или

idiot_type = "the biggest idiot"
year = 22
print("I have been %s for %s years."% (idiot_type, year))

И забыть всех остальных, иначе мозг выиграл'т быть в состоянии отобразить все форматы.

Комментарии (0)
print("Total score for %s is %s  " % (name, score))

%S можно заменить %D или

Комментарии (0)

Если результат-это число, тогда

print("Total score for %s is %d" % (name, score))

Если результат является строкой, то

print("Total score for %s is %s" % (name, score))

Если результат является числом, то это'ы , Если это's в строку, потом он'ы на %S, Если результат имеет тип float, то это'ы

Комментарии (0)

Использовать Ф-строку:

print(f'Total score for {name} is {score}')

Или

Использование `.формат:

print("Total score for {} is {}".format(name, score))
Комментарии (0)

Это то, что я делаю:

print("Total score for " + name + " is " + score)

Не забудьте поставить пробел после За до и после это.

Комментарии (0)