Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 循环给出了其他结果_Python_Delphi - Fatal编程技术网

Python 循环给出了其他结果

Python 循环给出了其他结果,python,delphi,Python,Delphi,我这里有一段python代码: spalte=5 for x in range(spalte): print x print spalte for i in range(spalte-1): print i print spalte-1 这里是pascal/delphi循环: spalte=5 for x := 0 to spalte do begin writeln(x); writeln(spalte); for i

我这里有一段python代码:

spalte=5
for x in range(spalte):
    print x 
    print spalte 
    for i in range(spalte-1):
        print i 
        print spalte-1
这里是pascal/delphi循环:

spalte=5
for x := 0 to spalte do
begin
  writeln(x);
  writeln(spalte);
  for i := 0 to (spalte-1) do
    writeln(i);
    writeln(spalte-1);
end;
我从python循环中获得正确的值,但在pascal循环中,值是不同的。
这与嵌套循环有关吗?

[更新]基于@Amxx观察:

for x := 0 to spalte-1 do
begin
  writeln(x);
  writeln(spalte);
  for i := 0 to (spalte-1-1) do
    begin
      writeln(i);
      writeln(spalte-1);
    end;
end;
您的pascal代码与以下代码等效:

for x in range(spalte+1):
    print x 
    print spalte
    for i in range(spalte):
        print i 
    print spalte-1

[更新]基于@Amxx观察:

for x := 0 to spalte-1 do
begin
  writeln(x);
  writeln(spalte);
  for i := 0 to (spalte-1-1) do
    begin
      writeln(i);
      writeln(spalte-1);
    end;
end;
您的pascal代码与以下代码等效:

for x in range(spalte+1):
    print x 
    print spalte
    for i in range(spalte):
        print i 
    print spalte-1

你必须注意到这一点

for i in range(spalte):
不是python的等价物吗

for i := 0 to spalte do
事实上,python
range(n)
运行从0到n-1(不包括n)的每个值,而pascal循环从0到n(包括n)



这是对pascal程序最嵌套循环中缺少的
开始
/
结束
的补充

您必须注意

for i in range(spalte):
不是python的等价物吗

for i := 0 to spalte do
事实上,python
range(n)
运行从0到n-1(不包括n)的每个值,而pascal循环从0到n(包括n)



这是对pascal程序最嵌套的循环中缺少的
begin
/
end
的补充,因此,他缺少begin和end,因此循环中只有第一条语句?@valentin这很奇怪,然后我的编译器@ytl96875出了问题。你的python和pascal循环不等价。。。更多内容请看五月的回答否,您应该用两种语言中的一种来更改循环的最终值…因此,他缺少开始和结束,因此只有第一个语句在循环中?@valentin这很奇怪,然后我的编译器@ytl96875出了问题您的python和pascal循环不等效。。。更多内容请参见五月回答否,您应该在两个语言之一中更改循环的最终值。。。