【发布时间】:2022-11-18 08:33:08
【问题描述】:
描述:Python 可以互相循环函数。 cS 循环也能起作用吗?
示例蟒蛇:
def func():
x=input(">")
func()
示例 C#预期的:
namespace f
{class f{
static void main(string[] args){
void stuff() {
Console.readLine()
stuff()
}
}
}}
我认为在 cs 函数中循环函数是不可能的。
我所说的循环函数的意思是将 void 放入容器中。这就是我的意思Python:
def g():
x=input(">")
g()
输出(打字机):
Python Latest Update
>h
>bruh
>new line
>new new line
>line
>infinite input lines
> repeating function
我使用它是因为在 python 中我在脚本中添加了命令并且我这样做了所以我不需要重新输入直到 python 停止输入。
例子:
Problem (python script):
def func():
x=input(">")
if x=="help":
print("commands: help")
x=input(">")
if x=="help":
#repeat
Solution (python script):
def func():
x=input(">")
if x=="help":
print("commands: help")
func()
为什么我将示例放在 python 脚本中:idk 如果你可以在 c# 中执行此操作,那么我不会混淆任何人
这会发生在 C# 中吗?
【问题讨论】:
-
警告那些标记为描述性/清晰度较低的人:我会尽我所能提供所有细节。
-
你在这里谈论的是“递归”。而你正在做的是递归的一个非常糟糕的例子。您不应该对这种循环使用递归。每个函数调用都会一遍又一遍地创建另一个堆栈框架,耗尽内存。是的,当然 C# 支持递归,但在这些情况下你应该使用循环。
-
我正在制作一个命令行 exe 文件。那也会重现吗?
-
应用程序是什么并不重要。你应该在这里循环,而不是使用递归。递归对数学函数和嵌套算法很有帮助,但事实并非如此。