2017-10-20 4 views
-1

私は現在、「あなたは100?はい!勝ったのですか?」という文字を含むファイルを読み込み、それぞれの文字を取り出して10のASCII値に変換し、10のASCII値をユーザ入力の基数に変換するコードを書いています2-9。 alphaNumeric以外のすべての文字は ".."に変換されますアウトファイルPython 3に書かれているものをフォーマットするには?

私はビルトインの間で変換するためのビルトインのPython関数を使用することはできませんので、私は独自のベース10のASCII値を新しいベースで分割しています残りのすべてをリストに集めて、新しい番号が正しい順序になるようにリストを逆転させます。

私のコードは、アウトファイルに新しい番号と ".."を書き込むことになっていますが、アウトファイルに行くリストをどのようにフォーマットするのか分かりません。私がコードを提出すると、 "builtins.TypeError:write()はキーワード引数を取らない"と言います。残りのリストをoutファイルに書き込んで、角かっこなしで単一の文字列として書式設定できるようにするにはどうすればよいですか?ありがとう!

infile = open("myFile.txt" , "r") 
outfile = open("x_myFile.txt" , "w") 

userBase = int(inputBase()) 

for line in infile: 
    for ch in line: 
     if ch.isalpha() or ch.isdigit(): 
      value = int(ord(ch)) 
      remainders = list() 
      while value>0: 
       remainders.append(value % userBase) 
       value//=userBase 
      remainders = remainders[::-1] 
      outfile.write(*remainders, sep='') 
     else: 
      outfile.write("..") 




infile.close() 
outfile.close() 
+0

'.write'メソッドはただ一つの引数をとります:あなたが書きたいテキストまたはバイト文字列。しかし、ファイルに書き込むために 'file'引数をつけて' print'関数を使うこともできます。 –

答えて

1

最初のドロップ, sep=''、これはwrite、ないprintあります。

writeに1つ以上の引数を渡すことはできません。確かに整数ではありません。

整数のリストを数字に変換する必要があります。私はこれを行うでしょう:

関連する問題