2012-09-30 35 views
1

不明白这个简单的代码:For循环在Python 3

def main(): 
    print ("This program illustrates a chaotic function") 
    x = float(input("Enter a number between 0 and 1: ")) 
    for r in range(1,10): 
    x = 3.9*x*(1 - x) 
    print(x) 

按照我的理解,应该打印出10个相同的数字。 但它给了我10个不同。我认为范围(1,10)仅意味着它 迭代通过代码10次。

+1

它会循环(而不是10)** 9 **次,但您将x重新分配给新值。 – nhahtdh

+0

这个问题为什么被低估? – 2012-09-30 17:30:01

+0

范围([start,] stop [,step]) - >整数列表 返回包含整数的算术级数的列表。范围(i,j)返回[i,i + 1,i + 2,...,j-1];开始(!)默认为0. –

回答

5

r从1变为9. x从输入值开始从"old x"变为"new x" = 3.9*(old x)*(1 - (old x)) 9次。

+0

现在我觉得像驴!但我想这是学习的道路。我以某种方式设法忽略了X从初始输入变化的事实。非常感谢。 – Aenohe

0

range(a,b)返回tmp列表[a, a+1, ..., b-2, b-1],没有b