Fe2+ です。
From: "Naomasa Numajiri" <naonuma@...>
Date: Mon, 8 Apr 2002 23:38:57 +0900
> 他に書き方があったら遠慮なくよろしくです>>pythonな方
ということで若干補足。
> for i in map(atoi,argv[1:]):
> sum = sum + i
ここで map をつかうならいっそ
sum = reduce(lambda x,y:x+y,map(atoi,argv[1:]),0)
とか(Python らしさはない気もしますけど)。
あるいは operator.add を使うかな。
あと、atoi を使わずに int でもいいとか。
> buf = stdin.readline()[:-1]
stdin.readline() よりも raw_input() の方が普通じゃないかとか。
総合すると、こんな感じ。
from sys import argv
from operator import add
sum = reduce(add, map(int, argv[1:]), 0)
while 1:
buf = raw_input()
if buf == '0': break
sum += int(buf)
print sum
map はあんまり受けが良くなかったりするので、
代わりに [int(x) for x in argv[1:]] とか書いてみるのもあり。
少なくとも初心者にはこの方が易しいかも。
# for buf in stdin: と書けるような気もしたけどうまくいかない。
--
MATSUI Fe2+ Tetsushi
mailto:VED03370@...
http://member.nifty.ne.jp/Fe/