IT

파이썬 : print 명령으로 줄 바꾸기 피하기

lottoking 2020. 7. 2. 07:30
반응형

파이썬 : print 명령으로 줄 바꾸기 피하기 [중복]


이 질문에는 이미 답변이 있습니다.

오늘 프로그래밍을 시작했으며 파이썬 에서이 문제가 있습니다. 꽤 멍청하지만 어떻게 해야할지 모르겠습니다. print 명령을 사용하면 원하는 것을 인쇄 한 다음 다른 줄로갑니다. 예를 들면 다음과 같습니다.

print "this should be"; print "on the same line"

반환해야합니다 :

이것은 같은 줄에 있어야합니다

그러나 대신 다음을 반환합니다.

이것은
같은 줄에 있어야합니다

더 정확하게 if는 숫자가 2인지 아닌지 알려주는 프로그램을 만들려고했습니다.

def test2(x):
    if x == 2:
        print "Yeah bro, that's tottaly a two"
    else:
        print "Nope, that is not a two. That is a (x)"

그러나 마지막 (x)으로 입력 한 값을 인식하지 않고 "(x)"(괄호가있는 문자)를 정확하게 인쇄합니다. 작동하게하려면 다음과 같이 작성해야합니다.

print "Nope, that is not a two. That is a"; print (x)

그리고 예를 들어 입력 test2(3)하면 다음을 제공합니다.

아니, 그건 2가 아니라
3

따라서 파이썬이 인쇄 라인 내부의 (x)를 숫자로 인식하도록해야합니다. 또는 두 줄로 인쇄하지만 같은 줄에 인쇄 할 수도 있습니다. 미리 감사하고 그런 바보 같은 질문에 대해 죄송합니다.

중요 사항 : 버전 2.5.4를 사용하고 있습니다.

다른 참고 사항 : print "Thing" , print "Thing2"두 번째 인쇄에 "구문 오류"라고 표시하면.


Python 3.x 에서는 개행 문자가 인쇄되지 않도록 함수에 end인수를 사용할 수 있습니다 print().

print("Nope, that is not a two. That is a", end="")

Python 2.x 에서는 후행 쉼표를 사용할 수 있습니다.

print "this should be",
print "on the same line"

그러나 변수를 간단히 인쇄하기 위해 이것을 필요로하지는 않습니다.

print "Nope, that is not a two. That is a", x

후행 쉼표는 여전히 줄 끝에서 공백이 인쇄됩니다. 즉, end=" "파이썬 3에서 사용하는 것과 같습니다 . 공백 문자도 억제하려면 다음을 사용할 수 있습니다.

from __future__ import print_function

Python 3 인쇄 기능에 액세스하거나을 사용하십시오 sys.stdout.write().


에서 파이썬 2.x에서 단지를 넣어 ,당신의 말에 print문. print항목 사이에 공백이 생기지 않도록하려면을 사용하십시오 sys.stdout.write.

import sys

sys.stdout.write('hi there')
sys.stdout.write('Bob here.')

수율 :

hi thereBob here.

두 문자열 사이 에는 줄 바꿈 이나 공백없습니다 .

파이썬 3.x 에서는 print () 함수를 사용하여 말할 수 있습니다.

print('this is a string', end="")
print(' and this is on the same line')

그리고 얻다:

this is a string and this is on the same line

sepPython 3.x로 인쇄에서 설정하여 인접한 문자열이 분리되는 방법을 제어 할 수 있는 매개 변수 가 있습니다 (또는에 지정된 값에 따라 다름 sep)

예 :

파이썬 2.x

print 'hi', 'there'

준다

hi there

파이썬 3.x

print('hi', 'there', sep='')

준다

hithere

Python 2.5를 사용하는 경우 작동하지 않지만 2.6 또는 2.7을 사용하는 사람들에게는

from __future__ import print_function

print("abcd", end='')
print("efg")

결과

abcdefg

3.x를 사용하는 경우 이미 내장되어 있습니다.


당신은 단순히해야합니다 :

print 'lakjdfljsdf', # trailing comma

그러나

print 'lkajdlfjasd', 'ljkadfljasf'

암시 적 공백이 있습니다 (예 :) ' '.

다음 옵션도 있습니다.

import sys
sys.stdout.write('some data here without a new line')

새 줄이 표시되지 않도록 후행 쉼표를 사용하십시오.

print "this should be"; print "on the same line"

해야한다:

print "this should be", "on the same line"

또한 원하는 문자열 끝에 전달되는 변수를 다음과 같이 첨부 할 수 있습니다.

print "Nope, that is not a two. That is a", x

다음을 사용할 수도 있습니다.

print "Nope, that is not a two. That is a %d" % x #assuming x is always an int

연산자 (모듈로)를 사용하여 문자열 형식화에 관한 추가 문서액세스 할 수 있습니다 %.

참고URL : https://stackoverflow.com/questions/11266068/python-avoid-new-line-with-print-command

반응형