1

Python 2.7.3 では、特定の関数が特定の回数呼び出されるたびに、変数をインクリメントする必要があります。

たとえば、feetTraveled = 0. へのfor12 回の呼び出しごと。travelOneInch()feetTraveled += 1

for ループを使用するのが最適ですか、それとも別のものを使用する必要がありますか? 上記のような for ループを使用するのが最適な場合、「12 回の呼び出しごと」の代わりに何を配置する必要がありますか?

別の例: 私には 4 人の使用人がいます。それぞれが 1 クロック ティックで 1 つのタスクを実行し、タイム カウンターの初期値はtime = 0です。だからfor every four calls to servantDo()time += 1

4

4 に答える 4

0

mgilson (上記) は何が起きているかを知っています。私があなただったら、物事を簡単にするために次のようにします。

class Foo(object):
    def __init__(self):
        self.__inches = 0

    def travel_one_inch(self):
        self.__inches += 1

    def feetTraveled(self):
        return self.__inches // 12

ただし、最適性の観点から、これを一度だけ行う場合は、一時変数を使用できます。

feetTraveled = 0
inchesTraveled = 0
for i in xrange(72):
    # as in mgilson's answer
    inchesTraveled += 1
    if inchesTraveled > 11:
        inchesTraveled = 0
        feetTraveled += 1
于 2012-11-23T18:24:42.770 に答える