이것은 내 코드 스 니펫입니다.
print("Total score for %s is %s ", name, score)
그러나 나는 그것을 인쇄하고 싶다 :
“(이름)의 총점은 (점수)”
여기서 name
목록의 변수 score
는 정수입니다. 이것이 도움이된다면 파이썬 3.3입니다.
답변
이를 수행하는 방법에는 여러 가지가 있습니다. %
-formatting을 사용하여 현재 코드를 수정하려면 튜플을 전달해야합니다.
-
튜플로 전달하십시오.
print("Total score for %s is %s" % (name, score))
단일 요소를 가진 튜플은 다음과 같습니다 ('this',)
.
다른 일반적인 방법은 다음과 같습니다.
-
사전으로 전달하십시오.
print("Total score for %(n)s is %(s)s" % {'n': name, 's': score})
조금 더 읽기 쉬운 새로운 스타일의 문자열 형식도 있습니다.
-
새로운 스타일의 문자열 형식을 사용하십시오.
print("Total score for {} is {}".format(name, score))
-
숫자와 함께 새로운 스타일의 문자열 형식을 사용하십시오 (같은 순서를 여러 번 다시 정렬하거나 인쇄하는 데 유용).
print("Total score for {0} is {1}".format(name, score))
-
명시적인 이름으로 새로운 스타일의 문자열 형식을 사용하십시오.
print("Total score for {n} is {s}".format(n=name, s=score))
-
문자열 연결 :
print("Total score for " + str(name) + " is " + str(score))
내 의견으로는 가장 명확한 두 가지 :
-
값을 매개 변수로 전달하십시오.
print("Total score for", name, "is", score)
print
위 예제에서 공백을 자동으로 삽입하지 않으려면sep
매개 변수를 변경하십시오 .print("Total score for ", name, " is ", score, sep='')
Python 2를 사용하는 경우 Python 2에서는
print
함수가 아니기 때문에 마지막 두 개를 사용할 수 없습니다. 그러나 다음에서이 동작을 가져올 수 있습니다__future__
.from __future__ import print_function
-
f
Python 3.6에서 새로운 문자열 형식을 사용하십시오 .print(f'Total score for {name} is {score}')
답변
인쇄하는 방법에는 여러 가지가 있습니다.
다른 예를 살펴 보겠습니다.
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}')
답변
사용 : .format()
:
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))`
답변
파이썬 3.6에서는 f-string
훨씬 더 깨끗합니다.
이전 버전에서 :
print("Total score for %s is %s. " % (name, score))
파이썬 3.6에서 :
print(f'Total score for {name} is {score}.')
할 것이다.
더 효율적이고 우아합니다.
답변
간단하게 유지하면서 개인적으로 문자열 연결을 좋아합니다.
print("Total score for " + name + " is " + score)
Python 2.7과 3.X에서 모두 작동합니다.
참고 : score가 int 이면 str 로 변환해야합니다 .
print("Total score for " + name + " is " + str(score))
답변
단지 시도:
print("Total score for", name, "is", score)
답변
그냥 따라와
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))
그리고 다른 모든 것을 잊어 버리면 뇌가 모든 형식을 매핑 할 수는 없습니다.