简单的for循环和打印

时间:2013-01-08 15:31:10

标签: python for-loop

我正在使用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个步骤一个接一个地打印。

我该如何解决?

5 个答案:

答案 0 :(得分:8)

Python是缩进敏感的;也就是说,它使用文本块的缩进级别来确定循环内部的代码行(而不是{}大括号,例如)。

因此,为了将print语句移出循环(如上一个答案),只需减少缩进

答案 1 :(得分:7)

您可以将print语句移出循环:

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

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

这意味着在for循环中计算principal的值,然后在for循环之外打印principal的值(仅一次)。

答案 2 :(得分:4)

将打印件移到外部和循环之后。或者完全避免它:

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

答案 3 :(得分: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

答案 4 :(得分: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 !"