次のようなテキスト ファイルがあります。
BALLOTS CAST
Riding 0
YES YES NO YES
NO NO NO NO
.
.
.
YES NO YES YES
Riding 1
YES NO NO YES
NO NO YES NO
.
.
.
YES YES YES YES
等々。という名前の乗車番号に対するユーザーの入力があり、ridingその乗車に対する投票のリストを作成する必要があります。たとえば、乗馬の選択肢が 0 の場合、 list が必要[[YES YES NO YES], [NO NO NO NO], ..., [YES NO YES YES]]です。
readline()使用方法とwhileループを理解する必要があります。ここに私が持っているものがあります:
ballots = open(FILENAME, 'r')
line = ballots.readline().rstrip()
L = []
i = 0
if riding.isdigit():
while i < ???:
line = ballots.readline().rstrip()
i += 1
if line == 'Riding ' + riding:
while line != '\n':
L.append(line.rstrip().split())
しかし、私は空のリストを取得します。180代わりにこれを試してみまし???たが、それは何行あるのかという理由ですが、実際に何をその場所に置くべきかわかりません。試してみmax(enumerate(ballots))[0]ましたが、リストが完全に空になりますballots(または、何らかの理由ですべてが空になります)。
誰でも私のエラーと何を変更すべきかを指摘できますか? 私が言ったように、私はreadline()andを使用する必要がありwhile、何もインポートできません。
また、付けた理由は、乗り物if riding.isdigit()を選択するオプションもあるためです。allできます:
if riding == 'all':
line = ballots.readline().rstrip()
for line in ballots:
if line[0:6] != 'Riding' and line != '\n':
L.append(line.rstrip().split())
while唯一の問題は、ループの代わりにループを使用する方法がわからないことforです...