因此,这里是我的代码为什么argv不能使用我的功能?
from sys import argv
a,b = argv
def gcd(a,b):
while a:
a,b = b%a, a
print b
现在,如果我从这个
python euclidian_algorithm.py 40, 48
我得到这个错误
Traceback (most recent call last):
File "euclidian_algorithm.py", line 3, in <module>
a,b = argv
ValueError: too many values to unpack
但是,如果我再删除空格的命令行运行它在两个输入之间,像这样
python euclidian_algorithm.py 40,48
然后我根本没有输出。
现在首先我不明白如何解开太多的值,当我只有两个参数。其次,为什么我在第二种情况下得不到输出?
'argv'包含字符串,而不是数字。 – Evert
另外,它包含脚本名称作为第一个参数(所以在第二种情况下,'a =='euclidian_algorithm.py''和'b == '40,48'')。另外,你永远不会真的调用你的函数。 – jonrsharpe
你的论点之间的逗号也会弄乱事情。另外,'argv'包含程序名称作为它的第一个参数,所以在第一种情况下你的'argv'看起来像'['euclidian_algorithm.py''40,',48']'。 – Evert