【问题标题】:For Loop in Python 3Python 3 中的 For 循环
【发布时间】:2012-09-21 17:13:00
【问题描述】:

看不懂这个简单的代码:

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 次。

【问题讨论】:

  • 它确实循环(不是 10 次)9 次,但你将 x 重新分配给新值。
  • 为什么这个问题被否决了?
  • range([start,] stop[, step]) -> 整数列表 返回一个包含整数等差数列的列表。 range(i, j) 返回 [i, i+1, i+2, ..., j-1];开始 (!) 默认为 0。

标签: python python-3.x


【解决方案1】:

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

【讨论】:

  • 现在我感觉自己像个驴子!但我想这是学习的道路。我设法以某种方式忽略了 X 从初始输入发生变化的事实。非常感谢。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-18
    • 2010-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多