이 작은 문제는 해결할 수 없습니다.파이썬 - 공백
번째는 우측이다.
어떻게 공백없이 인쇄 할 수 있습니까?
def square(n):
for i in range(n):
for j in range(n):
if i==0 or j==0 or i==n-1 or j==n-1: print "*",
else: print "+",
print
감사합니다.
이 작은 문제는 해결할 수 없습니다.파이썬 - 공백
번째는 우측이다.
어떻게 공백없이 인쇄 할 수 있습니까?
def square(n):
for i in range(n):
for j in range(n):
if i==0 or j==0 or i==n-1 or j==n-1: print "*",
else: print "+",
print
감사합니다.
print
에 쉼표를 더하면 안됩니다. 이 경우 쉼표는 개행 문자 대신 공백을 삽입합니다.
import sys
def square(n):
for i in range(n):
for j in range(n):
if i==0 or j==0 or i==n-1 or j==n-1: sys.stdout.write("*")
else: sys.stdout.write("+")
print
print
단지, 또한 여러 인수를 처리하는 임에도 불구하고, 당신을 위해 sys.stdout
에 기록 첫번째 문자열 값을 변환하고 당신이 가진 표현을 종료하지 않는 한 줄 바꿈을 추가
사용 sys.stdout.write()
더 많은 제어를 얻을 수 콤마.
또한 파이썬 2에서 파이썬 3 print()
function를 사용하고 물어 보지 인쇄 할 줄 바꿈 수 :
from __future__ import print_function
def square(n):
for i in range(n):
for j in range(n):
if i==0 or j==0 or i==n-1 or j==n-1: print("*", end='')
else: print("+", end='')
print()
을 다른 방법으로, ''.join()
먼저 문자열을 조인
def square(n):
for i in range(n):
print ''.join(['*' if i in (0, n-1) or j in (0, n-1) else '+' for j in xrange(n)])
감사합니다. – piratteegon
Join에서'['']'을 제거하고 Python 3의 print 함수 호출에'('')를 추가 할 수 있습니다 ... –
@GrijeshChauhan : http://stackoverflow.com/a/9061024 참조; '' '.join()'호출의 경우 generator expression 대신에 list comprehension을 사용하는 것이 빠릅니다. –
는 당신이 시도 할 수 print "+"
대신 sys.stdout.write("+")
을 사용 하시겠습니까?
나는 그것을 인쇄하기 전에 문자열로 전체 라인을 구축 할 것입니다. 또는 파이썬 3을 사용하십시오. 여기서 "끝"을 " '''로 설정할 수 있습니다. –