2015-05-09 97 views
1

這可能是一個愚蠢的問題,但我對Python還不是很瞭解。我正在編寫這個代碼,假設爲X的值和Y的值輸入輸入,將它們寫入文件並將它們打印在屏幕上(稍後我將使用matplotlib繪製它們)。但是我得到的結果是兩個括號,我不希望他們在那裏。下面的代碼(我編程在Ubuntu使用Python 3.4):如何在輸出中刪除這些括號?

xcoord = open("x.dat","w") 
xinput = input('Enter with the values for x separeted by coma (ex: 10,25,67):') 
xcoord.write(str(xinput)) 
xcoord.close() 
ycoord = open("y.dat","w") 
yinput = input('Enter with the values for y separeted by coma (ex: 10,25,67):') 
ycoord.write(str(yinput)) 
ycoord.close() 

xcoord = open("x.dat","r") 
listax = xcoord.read().split(',') 
ycoord = open("y.dat","r") 
listay = ycoord.read().split(',') 
print listax 
print listay 

我得到的文件的輸出是一樣的東西(10,20,30)和我得到的輸出屏幕就像['(10','20','30)']。我怎樣才能擺脫這些括號?

+0

可能重複。 Python 3.3.2](http://stackoverflow.com/questions/18816813/adding-all-the-numbers-from-a-list-togethernot-summing-python-3-3-2) – seaotternerd

+0

我懷疑你是使用Python 2,而不是Python 3.(你發佈的代碼在Python 3中是無效的)。在這種情況下,如果用'raw_input'替換'input',那將避免首先創建括號。如果你*使用Python 3,那麼在你的輸出中不應該有任何圓括號,並且在你的write方法調用之前你不需要轉換爲'str'。 –

+0

你是對的,我的不好。我對python編程真的很陌生。我檢查了我的Ubuntu並安裝了python 2.7,而不是3.4。感謝你們,我會環顧四周,瞭解其中的差異。 –

回答

4

你可以用str.strip做:的[添加所有從列表中數字加在一起(不累加)

>>> '(10, 20, 30)'.strip('()') 
'10, 20, 30' 
0

您可以在打印除去第一和最後一個字符:

print listax[1:-1]