0

ファイルを読み取って、各値が正しいことを確認しようとしています。文字列を整数に正しく変換しているとは思いません。これが私のコードの一部です。また、フラグを使用しようとしています。

fileName = input("What file name? ")
infile = open(fileName,'r')
correct_order_flag = False
i = 0
line = infile.readline()
while line !="": 
    for xStr in line.split(" "):
        if eval(xStr) [i] < i:
            correct_order_flag = True
        else:
            correct_order_flag = False
    i = i+1
if correct_order_flag:
    print("Yes, the numbers were in order")
else:
    print("No, the numbers were not in order")
count = i - 1
print("There were", count, "numbers.")
4

4 に答える 4

4

あなたは正しいです-それが配列であることを示してeval(xStr)[i]いるeval(xStr)ため、添字を付けることができます。あなたが望むかもしれないように見えるのは(文字列をintに変換したいと言っているので)int(xStr)、その行全体を作成するだけです:

if int(xStr) < i:
于 2011-10-30T22:01:33.857 に答える
1

まず、ファイル全体をまったく読み取るわけではありません。これを試して:

with open(fileName) as f:
    for line in f:
        # here goes your code

「各値が順番に並んでいる」とはどういう意味ですかeval()?

于 2011-10-30T22:02:12.790 に答える