2016-08-18 4 views
0
a=str(input("Enter string: ")) 
b=str(input("Enter another: ")) 

def switch(x, y): 
    x, y = y, x 
    return x, y 

print (switch(a, b)) 

출력은 예를 들면 다음과 같습니다 ('가', '안녕하세요') 내가 parathenses를 제거하려면 당신이 함수 같은 (튜플)의 출력을 유지하려는 가정출력에서 ​​아포 스트로피 및 파라 태니스를 제거하는 방법은 무엇입니까?

+2

목록을 인쇄하지 않고 각 요소를 개별적으로 인쇄하십시오. – Barmar

답변

1

''당신을

a = input("Enter string: ") 
b = input("Enter another: ") 

def switch(x, y): 
    return y, x 

print(' '.join(switch(a, b))) 

작은 노트 : 공백으로 구분하여 튜플을 인쇄하는 데 사용할 join을 사용할 수 있습니다 나는이 경우 필요 보이지 않았다 방법의 다른 두 줄 때문에, 단지 return y, x을 할 방법을 변경 :)

+0

이제 의미가 있습니다. 그러나 ''.join 함수는 문자를 어떻게 제거합니까? –

+1

아 - 사실 실제로 어떤 문자도 제거하지 않습니다. 튜플 자체를 인쇄 할 때 괄호와 따옴표를 추가하여 문자열 튜플의 문자열 표현을 제공합니다. 목록에 대해서도 마찬가지입니다 ...'[ 'hello', 'world']'로 초기화 된 파이썬리스트를 출력하면 따옴표와 대괄호가있는'[ 'hello', 'world']'로 인쇄됩니다 그것이 목록에있는 것 (목록 내의 문자열과 반대 됨)임을 나타냅니다. – Karin

1

switch의 반환 값은 print 함수에 단일 인수로 전달되는 2 개 항목 (쌍)의 튜플입니다. print은 각 인수를 암시 적 str을 갖는 문자열로 변환하고 ('', '')은이 튜플의 문자열 표현에서옵니다.

원하는 것은 쌍의 각 항목을 별도로 전달하는 것입니다. 이 속기이 경우에 (즉, * 의미

print(*switch(a, b)) 

는 "별도의 위치 인수로 다음의 반복자의 요소를 통과"이 같이

는 단지 하나 개의 문자를 추가 할 필요가, 파이썬 3)

에 대한
value = switch(a, b) 
print(value[0], value[1]) 

인쇄는 일반적으로 단일 공백으로 구분 된 값을 인쇄합니다.

print(*switch(a, b), sep=', ') 

마지막으로, 귀하의 예제에서 str() 불필요한 것 : 다른 분리를 원하는 경우, 예를 ,를 들어, 당신은 sep 키워드 인수를 사용할 수 있습니다.

관련 문제