我正在使用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个步骤一个接一个地打印。
我该如何解决?
答案 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 !"