2013-01-08 135 views
-1

我在Python 2.7簡單的for循環和打印

我做了一些非常基本的練習我工作,這是我的代碼:

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個步驟被一個接一個地打印出來。

我該如何解決這個問題?

回答

7

可以移動打印語句退出循環:

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

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

這意味着主要的值將內部的來計算循環,然後主要的值將被打印(僅一次)爲它在for循環之外。

+0

那麼簡單。多謝。 – nutship

3

您的打印語句位於for循環中。它需要在循環之外。

您可以通過減少print語句的縮進來實現這一點,從而將其帶入循環之外。

for i in range(10): 
     principal = principal * (1 + apr) 
print "The value in 10 years will be: $", principal #See the indentation here 
4

在循環的外部和之後移動打印件。或者完全避免它:

principal *= (1 + apr)**10 
print print "The value in 10 years will be: $", principal 
8

Python是縮進敏感的;也就是說,它使用文本塊的縮進級別來確定循環內部的代碼行(而不是{}大括號)。

因此,爲了使打印語句跳出循環(如前面的答案),只是減少縮進

1

只是迪登print語句把它外循環。

而且你應該考慮改變 「輸入」 到 「的raw_input」 和圍繞它包裝 「INT()」

principal = raw_input("Enter the principal: ") 
try: 
    principal = int(principal) 
except ValueError: 
    print "Warning ! You did not input an integer !" 
+0

感謝您的建議。 – nutship