在vi编辑器中运行python代码并传递给用户inpu

2024-05-26 21:50:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在vi编辑器中运行以下代码:

def factorial( n ):
   if n <1:   # base case
       return 1
   else:
       returnNumber = n * factorial( n - 1 )  # recursive call
       print(str(n) + '! = ' + str(returnNumber))
       return returnNumber

我想在vi编辑器中运行程序时,为值n提供一个运行时输入。我不知道如何在vi编辑器中为python程序提供运行时用户输入。还想知道在vi编辑器中运行代码时需要对代码进行哪些更改。能给我一个解决办法吗?我可以运行代码,但无法传递n的值

我用油灰做这个,我用的是Python3。在


Tags: 代码程序basereturnifdefcall编辑器
2条回答

要从vi编辑器内部运行代码,请使用以下命令:

:!python code.py arg1

使用:!在vi中,您可以运行任何有效的shell命令。此外,还可以使用此方法将命令行参数(arg1)传递给python代码。在

希望这有帮助

您需要更改代码:

import sys

def factorial(n):
    # your function here

if __name__ == '__main__':
    factorial(int(sys.argv[1]))

当执行脚本文件时,它从if __name__ == '__main__'开始,并使用命令行参数作为参数调用factorial()。在

然后您可以从vi中运行这个脚本,如hashbrown所述,例如:

^{pr2}$

PS:在调用阶乘函数之前,您可能需要添加一行print(sys.argv),以便了解系统argv实际上包含(为什么使用索引1int())。在

相关问题 更多 >

    热门问题