-1

私はPython 2.7で作業しています

私はいくつかの非常に基本的な演習を行っています。これが私のコードです:

def main():
    print """Program computes the value of an investment 
    carried 10 years into the future"""
    principal = input("Enter the principal: ")
    apr = input("Provide (in decimal format) the annual percentage rate: ")
    for i in range(10):
        principal = principal * (1 + apr)
        print "The value in 10 years will be: $", principal

main()

コードは機能していますが、出力は最終結果のみにしたいです。私が今得ているのは、ループの10ステップすべてが次々に印刷されていることです。

どうすれば修正できますか?

4

5 に答える 5

8

Python はインデントを区別します。つまり、テキスト ブロックのインデント レベルを使用して、({} 中かっこなどではなく) ループ内にあるコード行を判別します。

したがって、(前の回答のように) print ステートメントをループの外に移動するには、インデントを減らします。

于 2013-01-08T15:34:34.100 に答える
7

print ステートメントをループの外に移動できます。

for i in range(10):
    principal = principal * (1 + apr)

print "The value in 10 years will be: $", principal

これは、principal の値が for ループ内で計算され、次に for ループの外にあるため、principal の値が (1 回だけ) 出力されることを意味します。

于 2013-01-08T15:33:17.863 に答える
4

プリントをループの外側と後に移動します。または、単に完全に回避します。

principal *= (1 + apr)**10
print print "The value in 10 years will be: $", principal
于 2013-01-08T15:34:24.937 に答える
3

print ステートメントは for ループ内にあります。ループの外にある必要があります。

これを行うには、print ステートメントのインデントを減らして、ループの外に出します。

for i in range(10):
        principal = principal * (1 + apr)
print "The value in 10 years will be: $", principal #See the indentation here
于 2013-01-08T15:34:15.887 に答える
1

printステートメントをディデントして、ループの外に置きます。

さらに、「input」を「raw_input」に変更し、「int()」でラップすることを検討する必要があります。

principal = raw_input("Enter the principal: ")
try:
    principal = int(principal)
except ValueError:
    print "Warning ! You did not input an integer !"
于 2013-01-08T15:43:51.440 に答える