谁能给我正确的理由,因为我预计答案是 9 而结果是“0”?
Can anyone please give me the correct justification , because i expected the anser to be 9 while the result was "0"?
def print_nums(x):
for i in range(x):
print(i)
return
print_nums(10)
使用这段代码,我原以为答案是 9
,但看到 0
作为答案,我真的很惊讶。请问有人能提供适当的理由吗?
def print_nums(x):
for i in range(x): # Loop starts. In first iteration of loop, i = 0
print(i) # Prints 0, since i = 0
return # The function execution stops here and it exits
print_nums(10)
上面的代码只会 运行 并在循环的第一次迭代时停止。这是因为 return 将直接退出该函数,因此函数执行将自行停止。
您可能打算按以下方式使用该功能 -
def print_nums(x):
for i in range(x):
print(i)
return
print_nums(10)
输出:
0
1
2
3
4
5
6
7
8
9
在上述情况下你不需要 return 如果它不是 return 你是 using.In 的东西,我不明白你的期望输出为 9。上述函数将打印 0 to x-1
.
中的所有数字
如果您希望从 0 to x-1
开始循环并最终打印 x-1,那么您可以这样做 -
def print_nums(x):
i = 0
for i in range(x):
# Some work done here
pass
print(i) # Prints x-1 and returns from the function
return
print_nums(10)
输出:
9
希望对您有所帮助!
因为你在for循环中调用了return
。所以函数 return 就在第一个循环
之后
你的return放错地方了
def print_nums(x):
for i in range(x):
print(i)
return
print_nums(10)
每次都会在新行打印 0-9,如果你只想打印 9 你应该这样做
def print_nums(x):
for i in range(x):
return i
print_nums(10)
def print_nums(x):
for i in range(x):
print(i)
return
print_nums(10)
使用这段代码,我原以为答案是 9
,但看到 0
作为答案,我真的很惊讶。请问有人能提供适当的理由吗?
def print_nums(x):
for i in range(x): # Loop starts. In first iteration of loop, i = 0
print(i) # Prints 0, since i = 0
return # The function execution stops here and it exits
print_nums(10)
上面的代码只会 运行 并在循环的第一次迭代时停止。这是因为 return 将直接退出该函数,因此函数执行将自行停止。
您可能打算按以下方式使用该功能 -
def print_nums(x):
for i in range(x):
print(i)
return
print_nums(10)
输出:
0
1
2
3
4
5
6
7
8
9
在上述情况下你不需要 return 如果它不是 return 你是 using.In 的东西,我不明白你的期望输出为 9。上述函数将打印 0 to x-1
.
如果您希望从 0 to x-1
开始循环并最终打印 x-1,那么您可以这样做 -
def print_nums(x):
i = 0
for i in range(x):
# Some work done here
pass
print(i) # Prints x-1 and returns from the function
return
print_nums(10)
输出:
9
希望对您有所帮助!
因为你在for循环中调用了return
。所以函数 return 就在第一个循环
你的return放错地方了
def print_nums(x):
for i in range(x):
print(i)
return
print_nums(10)
每次都会在新行打印 0-9,如果你只想打印 9 你应该这样做
def print_nums(x):
for i in range(x):
return i
print_nums(10)