Python 3.x 为什么是一个;我";在;对于范围内的“i”;?

Python 3.x 为什么是一个;我";在;对于范围内的“i”;?,python-3.x,range,Python 3.x,Range,我是编程新手,Python是我学习的第一门语言。我认为这通常是非常简单和合乎逻辑的,也许这就是为什么这个小小的理解问题让我发疯 为什么在说明范围函数时,学习材料中经常使用“i”? 在我看来,当范围函数处理数字时,使用随机数似乎更符合逻辑 请把我从痛苦中释放出来 几乎所有编程语言都使用i来指示i迭代循环的计数变量。回答 i和j通常在相当长的一段时间内被用作数学中的下标(例如,即使在高级语言之前的论文中,你也经常看到类似“Xi,j”的东西,尤其是在求和之类的东西中) 当他们设计Fortran时,他们

我是编程新手,Python是我学习的第一门语言。我认为这通常是非常简单和合乎逻辑的,也许这就是为什么这个小小的理解问题让我发疯

为什么在说明范围函数时,学习材料中经常使用“i”? 在我看来,当范围函数处理数字时,使用随机数似乎更符合逻辑


请把我从痛苦中释放出来

几乎所有编程语言都使用
i
来指示i迭代循环的计数变量。

回答

i和j通常在相当长的一段时间内被用作数学中的下标(例如,即使在高级语言之前的论文中,你也经常看到类似“Xi,j”的东西,尤其是在求和之类的东西中)

当他们设计Fortran时,他们(显然)决定允许相同的,因此所有以“I”到“N”开头的变量默认为整数,而所有其他变量默认为实数(浮点)。对于那些错过它的人来说,这就是“上帝是真实的(除非声明为整数)”这一古老笑话的来源

大多数人似乎没有什么理由改变这一点。它广为人知,深入人心,非常简洁。每隔一段时间你就会看到一些精神病患者写的东西,他们认为这样的东西有真正的优势:

for (int outer_index_variable=0; outer_index_variable < 10; outer_index_variable++) for (int inner_index_variable=0; inner_index_variable < 10; inner_index_variable++) x[outer_index_variable][inner_index_variable] = 0;
for(int-outer_-index_-variable=0;outer_-index_-variable<10;outer_-index_-variable++)x[outer_-index_-variable][inner_-index_-variable]=0;
谢天谢地,这是非常罕见的,大多数样式指南现在都指出,虽然长的描述性变量名可能很有用,但您并不总是需要它们,特别是对于这样的情况,变量的作用域只有一两行代码。

一点额外的帮助! 问我们为什么使用
i
有点像问为什么那么多人在数学问题中使用字母x。这主要是因为
i
只是一个非常容易用来表示循环中当前增量的变量

我还认为您对
I
在循环中的位置感到困惑。当你使用范围循环时,你是说你想从一个数字开始一个一个地数到另一个数字。通常是这样的

for i in range(0, 5):
for 54 in range(0, 5):
  print(54)
这意味着我要从0-4开始计数,并将
I
设置为当前循环

这是一个很好的测试方法

for i in range(0, 5):
  print("i currently equals: ", i)
结果将是

i currently equals: 0
i currently equals: 1
i currently equals: 2
i currently equals: 3
i currently equals: 4
在您的问题中,您会问为什么不将
i
设置为一个数字,这是因为您不能将数字用作变量名。Python不能接受您的要求,但如果可以,它将是这样的

for i in range(0, 5):
for 54 in range(0, 5):
  print(54)
试着多读一些关于什么是变量以及如何在编程中正确使用它们的内容。


最后,祝你好运,成为一名程序员!编码对我们许多人来说是这个世界上最令人兴奋的事情之一,我希望有一天你也会有同样的感觉

仅供参考,这个问题可能会被否决。它缺少一个明确的编程问题(也就是一个明确的编程答案)。这是你现在正在寻找的链接。谢谢各位。我将努力改进我的下一篇文章。这是我第一次。。。。但是,您可以随意在自己的名字中使用更具描述性的名字code@HansKesting没错。如果你知道这些数字代表什么,那么你可以做一些事情,例如,在24小时范围内(24小时)非常感谢!“迭代”解释做到了这一点。我尝试过寻找这样的答案,但从未找到正确的答案。“现在我可以安心休息了。”我绞尽脑汁,很高兴能帮上忙。请随意将我的答案标记为已接受的答案:)如果您直接从其他地方复制了答案,您不应将答案归功于此。这就是为什么社区wiki选项存在的原因。非常有用的解释:“I”到“N”默认为整数。谢谢大家!@对不起。我是stackoverflow的新手,我不想因为这个答案而受到表扬,只是想帮助提问者。我在答案中添加了链接。这是这里回答问题的标准方式吗?看这个:韦斯利。。。你做到了。那额外的帮助正是我所需要的。我很困惑,因为我不明白“I”是一个变量,而你的解释让这两个部分联系在一起:因为I在(0,5)范围内:print(“I当前等于:,I”),谢谢你的“好运”。虽然我不知道如何编码,但它的美丽/魔力对我来说已经很清楚了。我很高兴听到这个消息!只有你,我的朋友,你只是把你的脚趾伸进了一个巨大的海洋。。。事实上,您已经准备好理解代码,这意味着您将有一个非常光明的未来!这是我给你的建议。一旦你对Python有了很好的处理,尝试将它分支到C++中。它与python的感觉非常相似,因为这两种语言都是基于c语言的。此外,如果您计划进行编码,请尽快切换到基于UNIX的操作系统。我建议尝试一些简单的东西,比如LinuxMint。我希望从一开始就切换到Linux。祝你好运谢谢你,伙计!很抱歉,我的回复迟了,但我刚刚抵达泰国度假两周;-)我真的很感谢你花时间给我这些建议和提示,对于一个新手来说,能得到这样的支持真是太好了。你想保持联系吗?