ユーザーが指定したファイル内の最初の番号を出力するプログラムを作成します。ファイル名を入力してくださいpython読み取り出力
:
l11-1.txt最初の数は20
であるあなたは、ファイルオブジェクトのメソッドの.readを使用する必要があります(1)で1つの文字を読むためにそれは次のように振る舞うべき時間であるかどうかをチェックする文字列オブジェクトメソッドです。番号がない場合、予想される動作は次のようになります。
ファイル名を入力してください:l11-2.txt
l11-2.txtに番号はありません。
一度に1文字を読み出すのが、.read()を1回呼び出してからループを使用して結果の文字列を処理するよりも優れたアルゴリズムです。
私はファイルを持っており、上記の答えに対応していますが、正しく出力する方法はわかりません。
私がこれまで持っているコードは以下の通りです:
filenm = raw_input("Enter a file name: ")
datain=file(filenm,"r")
try:
c=datain.read(1)
result = []
while int(c) >= 0:
result.append(c)
c = datain.read(1)
except:
pass
if len(result) > 0:
print "The first number is",(" ".join(result))+" . "
else:
print "There is no number in" , filenm + "."
これまでのところ、これはファイルをオープンし、それを読み込みますが、出力は1つがある場合でも、常に何の数ではありません。誰でも助けてくれますか?
ファイル全体を調べ、番号の最初のインスタンスを見つけて返します。 –
@justinああ、誤解されている。あなたは '.isdigit()'が 'True'であるものを返すまで、' datain.read(1) 'を呼んでいるだけです。 –
うんうん、うまくいきませんでした... :( –