次のようなテキスト ファイルがあります。
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
です...