-1

Python 3.x Numbers.txt というファイルから読み取ろうとしています。その中に数行の数字があります。合計と平均を出力する必要があります。それに伴い、IOerror と ValueError の例外処理を使用する必要があります。

前もって感謝します。このような質問があることは知っていますが、提案はエラーになります。

def main():
    total = 0.0
    length = 0.0
    average = 0.0
    try:
        filename = raw_input('Enter a file name: ')
        infile = open(filename, 'r')
        for line in infile:
            print (line.rstrip("\n"))
            amount = float(line.rstrip("\n"))
            total += amount
            length = length + 1
        average = total / length
        infile.close()
        print ('There were', length, 'numbers in the file.')
        print (format(average, ',.2f'))
    except IOError:
        print ('An error occurred trying to read the file.')
    except ValueError:
        print ('Non-numeric data found in the file')
    except:
        print('An error has occurred')
4

1 に答える 1

1
with open('numbers.txt', 'r') as my_file:
    try:
        data = [float(n) for n in my_file.read().split()]
    except (IOError, ValueError):
        data = []
total = sum(data)
average = total / len(data)
print('Numbers: {nums}\nTotal: {total}\nAverage: {average}'.format(nums = data, total = total, average = average))

今後の参考のために、これはかなり単純なコードであるため、各パーツを個別に Google で検索して、それらをつなぎ合わせることができます。

于 2013-04-29T01:28:36.530 に答える