2011-03-18 28 views
0

プログラムでCSVを入力から外したい。 (私は特定の入力が現れる回数を集計していますが、それをExcelで読みたいと思っています)。これは自分のデータ入力を助けるためのものです。私はコードになると全体のアマチュアだから、プログラムをループさせるための控えめな方法を許してください。リストに改行を追加する

SC= [] 
ender= 0 
while ender == 0: 
    Data = input('type in the letters:') 
    if 'x' in Data: 
      SC.append (1,) 
    else: SC.append (0,) 
    A = input('Done?:')  
    if 'done' in A: 
     ender = 1 
    else:quit 
else:SC.append('/n') 

print(SC) 

これは私が必要なもの、私に(1, 0, 1, '/n')
のようなものを与え、私はこの-shouldn't SC.append(//n)は、私が欲しい/「をエスケープ」を与える試みた(1, 0, 1, /n)

ある - ?それは構文エラーを返します。最初のものを指す/
私がSC.append(/n)を使用すると、同じ構文エラーが発生する/
また、さまざまな形式の生の文字列を使用していない利用可能。

リストの末尾にこれらの改行を追加しようとすると、私は狂ったようになりました。私はPythonにリテラル/nをリストに追加するようには見えません。どんな助けでも大歓迎です。

+1

である "\ n" は'ではなく ' "/ N"' –

+0

サンキューです!それはその後の大きな頭痛から私を救った。 – Eli

答えて

0

これは必ずしも最良の方法ではありません。

sc = [] 
while True: 
    data = raw_input('type in the letters:') 
    if 'x' in data: 
     sc.append("1") 
    else: 
     sc.append("0") 
    checkDone = raw_input('Done?:') 
    if 'done' in checkDone: 
     break 
sc.append('\n') 
print(sc) 
scWithCommas = ",".join(sc) 
print(scWithCommas) 

いくつかの改良を行うことができる:

は、私は、あなたのコードにいくつかの編集を行うことを試みてきました

  1. if 'x' in dataチェックはあなたがxeroxを入力すると、1であることを意味します添付。 peterと入力すると、0がリストに追加されます。 xeroxに1,0,0,0,1とpeterの末尾に「0,0,0,0,0」が付加されるように変更することができます。

  2. チェックすると、doneは、ユーザーからの2番目の入力を回避し、代わりに最初の入力を使用できます。

+0

join関数はすでに私の人生を変えました。 – Eli

0

あなたは改行文字を間違ってエスケープしています。それは\n(気づくあなたが/nを入力)

だから何をしたいSC.append('\n')それは `だ

+0

私は[[1、2、3、 '\ n'](明らかに:))を得る。代わりに新しい行に行くことができますか? –