不使用 argprase 获取输出
Not getting output using argprase
我正在观看一段视频,该视频讨论了通过计算斐波那契数来使用 argparse 的基础知识。我在我的 pycharm 编辑器中输入了代码,当我输入 运行 代码时,我没有得到任何输出。它以以下消息“进程已完成,退出代码为 0”结束。想法?
import argparse
def fib(n):
a, b = 0, 1
for i in range(n):
a, b = b, a + b
return a
def Main():
parser = argparse.ArgumentParser()
parser.add_argument("num", help="Fibonacci number to calculate", type=int)
args = parser.parse_args()
result = fib(args.num)
print("The " + str(args.num) + "th fib number is " + str(result))
if __name__ == '__Main__':
Main()
这一行是问题所在:
if __name__ == '__Main__':
当你是运行脚本时,__name__
魔法变量被设置为__main__
小写m
。修复它,它将起作用。
这个很好的答案有很多关于魔术变量的细节以及 if __name__ == '__main__':
行的作用:
你的代码应该是这样的:
import argparse
def fib(n):
a, b = 0, 1
for i in range(n):
a, b = b, a + b
return a
def main():
parser = argparse.ArgumentParser()
parser.add_argument("num", help="Fibonacci number to calculate", type=int)
args = parser.parse_args()
result = fib(args.num)
print("The " + str(args.num) + "thw fib number is " + str(result))
if __name__ == '__main__':
main()
当 运行 作为一个程序时,__name__
将被设置为 __main__
而不是 __Main__
。另请注意,函数和变量名称应始终以小写字母开头。并在函数之间留一个空行,使代码更具可读性!
我正在观看一段视频,该视频讨论了通过计算斐波那契数来使用 argparse 的基础知识。我在我的 pycharm 编辑器中输入了代码,当我输入 运行 代码时,我没有得到任何输出。它以以下消息“进程已完成,退出代码为 0”结束。想法?
import argparse
def fib(n):
a, b = 0, 1
for i in range(n):
a, b = b, a + b
return a
def Main():
parser = argparse.ArgumentParser()
parser.add_argument("num", help="Fibonacci number to calculate", type=int)
args = parser.parse_args()
result = fib(args.num)
print("The " + str(args.num) + "th fib number is " + str(result))
if __name__ == '__Main__':
Main()
这一行是问题所在:
if __name__ == '__Main__':
当你是运行脚本时,__name__
魔法变量被设置为__main__
小写m
。修复它,它将起作用。
这个很好的答案有很多关于魔术变量的细节以及 if __name__ == '__main__':
行的作用:
你的代码应该是这样的:
import argparse
def fib(n):
a, b = 0, 1
for i in range(n):
a, b = b, a + b
return a
def main():
parser = argparse.ArgumentParser()
parser.add_argument("num", help="Fibonacci number to calculate", type=int)
args = parser.parse_args()
result = fib(args.num)
print("The " + str(args.num) + "thw fib number is " + str(result))
if __name__ == '__main__':
main()
当 运行 作为一个程序时,__name__
将被设置为 __main__
而不是 __Main__
。另请注意,函数和变量名称应始终以小写字母开头。并在函数之间留一个空行,使代码更具可读性!