2011年6月24日金曜日

開発環境

  • Mac OS X Snow Leopard (OS)
  • WingIDE
  • Script言語: Python

『初めてのコンピュータサイエンス』(Jennifer Campbell, Paul Gries, Jason Montojo, Greg Wilson 著、長尾 高弘 訳、オライリー・ジャパン、2010年、ISBN978-4-87311-463-7)の7章(反復), 7.7(練習問題), 1を解いてみる。

 

1.

フィックス前

コード

def double_preceding(values):
    if values==[]:
        pass
    else:
        temp=values[0]
        values[0]=0
        for i in range(1,len(values)):
            values[i]=2*temp
            temp= values[i]
values=[2,3,4]
double_preceding(values)

入出力結果(Python Shell)

引数に[2,3,4]を渡すと[0,4,6]に書き換えたいのに上手くいっていない。

フィックス後

コード

def double_preceding(values):
    if values==[]:
        pass
    else:
        temp=values[0]
        values[0]=0
        for i in range(1,len(values)):
            temp_2=values[i]
            values[i]=2*temp
            temp=temp_2
values=[2,3,4]
double_preceding(values)

入出力結果(Python Shell)

上手くいった。

0 コメント:

コメントを投稿