0

これを行うスクリプトを作成する必要があります。

入力ファイル:
名前
10
-43
54
Name2
654
43
2
-5467
Name3
65
65

出力ファイル:
Name 21
Name2 -4768
Name3 130

入力を名前の配列に分割してから、最初の要素と残りの要素の合計を出力することになっているという結論に達しましたが、その方法がわからず、これについては何も見つかりませんでした。ウェブ上で。

4

3 に答える 3

3

いくつかのヒント:

>>> int('Name1')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'Name1'
>>> int('-43')
-43

これは、文字列とは何か、そうでないものを理解するのに役立つはずです。また、入力を数値に変換します。

エラーをキャッチする方法を確認してください(tryexcept)。

ファイルを1行ずつ読み取る方法を確認してください。ファイルを繰り返し処理してみてください;)

残りは基本的なプログラミングロジックです。自分でそれを理解することはあなたに大金のためにあなたに最も大きな価値を与えるでしょう。

于 2012-04-10T14:39:28.637 に答える
1

ファイルを開き、readlineを使用してファイルを1行ずつ開きます。文字列かどうかを確認してください。ファイル形式を見ると、2つの文字列(Name1とName2など)の間にあるものはすべて数字であると思いますので、それらをリストに保存してください。最後に、sum(list)を使用して出力を取得します。これは「宿題」なので、コードを書いていません。

于 2012-04-10T14:34:47.670 に答える
1

を使用してファイルを1行ずつ繰り返します

for line in open('test.txt'):
    # do stuff

名前を見つけたら、ゼロから再び数字を合計し始めるときに別の名前が見つかるまで、遭遇するまで各数字を合計に追加し始める必要があります。

于 2012-04-10T14:57:50.883 に答える