2016-08-18 33 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以及'如何去除輸出中的撇號和parathenses?

+2

不要打印列表,單獨打印每個元素。 – Barmar

回答

1

假設你要保持你的功能是相同的(一個元組)的輸出,你可以使用使用join打印由空格分隔的元組:

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

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

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

小記:我改變了方法,只是return y, x,因爲在方法似乎並沒有在這種情況下所需要的其他兩行: )

+0

現在有道理。但''.join函數如何去除字符? –

+1

啊 - 它實際上不會刪除任何字符。只是當你自己打印一個元組時,它會添加括號和引號來提供一個字符串元組的字符串表示。這同樣適用於列表...如果您打印的Python列表已初始化爲'['hello','world']',則它將用引號和括號打印爲[['hello','world']'表明它是一個列表(而不僅僅是列表中的字符串)。 – Karin

1

switch的返回值是2項(一對)的元組,作爲單個參數傳遞給print函數。並且print將其每個參數轉換爲隱含的字符串str('', '')來自此元組的字符串表示形式。

你想要什麼是分別通過對中的每個項目。

由於這是Python 3中,你只需要添加一個字符:

print(*switch(a, b)) 

*是指「通過以下迭代的元素作爲單獨的位置參數」,所以它是速記(在這種情況下)for

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

打印通常會打印由單個空格分隔的值。如果想要另一個分離器,例如,,您可以使用sep關鍵字參數:

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

最後,在您的示例str()似乎是不必要的。