source

여러 항목(고정 텍스트 및/또는 변수 값)을 한 줄에 동시에 인쇄하려면 어떻게 해야 합니까?

manysource 2023. 5. 10. 22:06

여러 항목(고정 텍스트 및/또는 변수 값)을 한 줄에 동시에 인쇄하려면 어떻게 해야 합니까?

다음과 같은 코드가 있습니다.

score = 100
name = 'Alice'
print('Total score for %s is %s', name, score)

이 출해주합니다면으를 .Total score for Alice is 100하지만 대신에 나는.Total score for %s is %s Alice 100올바른 형식으로 모든 것을 올바른 순서로 인쇄하려면 어떻게 해야 합니까?


참고 항목:한 번에 여러 개의 물건을 한 줄에 하나씩 인쇄하려면 어떻게 해야 합니까?변수 값을 문자열에 삽입(문자열로 보간)하려면 어떻게 해야 합니까?

이렇게 하는 방법은 여러 가지가 있습니다.다음을 사용하여 현재 코드를 수정하려면%tuple, 튜로전합니다야달맷해를 해야 합니다.

  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("Total score for {} is {}".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에서, 의예에서변, ▁the다니변▁in▁change를 변경합니다.sep매개변수:

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

    파이썬 2를 사용하는 경우, 마지막 두 개는 사용할 수 없습니다.printPython 2의 기능이 아닙니다.이 그나다이동가수있다습니에서 수 있습니다.__future__:

    from __future__ import print_function
    
  2. 새기사를 합니다.f3.6Python 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))

또는:f-stringPython 3.6에서 포맷:

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

를 사용할 수 .repr으로 리고자으로적동그로▁and▁automatically▁the.''추가됨:

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

# or for advanced: 
print(f'Total score for {name!r} is {score!r}') 

3에서 Python 3.6은f-string훨씬 깨끗합니다.

이전 버전:

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

Python 3.6의 경우:

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

할 거다.

그것은 더 효율적이고 우아합니다.

간단히 말하자면, 저는 개인적으로 문자열 연결을 좋아합니다.

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

Python 2.7 및 3.X 모두에서 작동합니다.

참고: 점수가 int이면 str로 변환해야 합니다.

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

그냥 따라오세요.

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

OR

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

그리고 다른 모든 것들은 잊어버리세요, 그렇지 않으면 뇌는 모든 형식을 매핑할 수 없을 것입니다.

시도해 보십시오.

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

사용하다f-string:

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

또는

사용하다.format:

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

%s를 로대할 있니습다수로 할 수 있습니다.%d또는%f

한다면score그렇다면 숫자입니다.

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

만약 점수가 문자열이라면,

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

점수가 숫자라면 다음과 같습니다.%d만약그 끈면이라이것그것, ▁ifs,그면.%s점가부동면라표그, ▁if,s면▁then▁is그,것.%f

제가 하는 일은 다음과 같습니다.

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

다음에 공백을 넣는 것을 기억하세요.for전후에is.

가장 쉬운 방법은 다음과 같습니다.

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

그냥 앞에 "f"를 붙이세요.

이것은 아마도casting issue.Casting syntax당신이 두 개의 다른 것을 결합하려고 할 때 발생합니다.types of variables변환할 수 없기 때문에string완전히integer또는float항상, 우리는 우리의 것을 전환해야 합니다.integers의 상태가.string이렇게 하면 됩니다.: str(x)정수로 변환하는 것은 다음과 같습니다.int(x)그리고 플로트는float(x)코드는 다음과 같습니다.

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

그리고! 이걸 실행해봐요.snippet다른 것으로 변환하는 방법에 대한 표를 보다types of variables!

<table style="border-collapse: collapse; width: 100%;background-color:maroon; color: #00b2b2;">
<tbody>
<tr>
<td style="width: 50%;font-family: serif; padding: 3px;">Booleans</td>
<td style="width: 50%;font-family: serif; padding: 3px;"><code>bool()</code></td>
  </tr>
 <tr>
<td style="width: 50%;font-family: serif;padding: 3px">Dictionaries</td>
<td style="width: 50%;font-family: serif;padding: 3px"><code>dict()</code></td>
</tr>
<tr>
<td style="width: 50%;font-family: serif;padding: 3px">Floats</td>
<td style="width: 50%;font-family: serif;padding: 3px"><code>float()</code></td>
</tr>
<tr>
<td style="width: 50%;font-family: serif;padding:3px">Integers</td>
<td style="width: 50%;font-family: serif;padding:3px;"><code>int()</code></td>
</tr>
<tr>
<td style="width: 50%;font-family: serif;padding: 3px">Lists</td>
<td style="width: 50%font-family: serif;padding: 3px;"><code>list()</code></td>
</tr>
</tbody>
</table>

언급URL : https://stackoverflow.com/questions/15286401/how-can-i-print-multiple-things-fixed-text-and-or-variable-values-on-the-same