gpt4 book ai didi

python - 命令行 - int() 参数必须是字符串、类似字节的对象或数字,而不是 'list'

转载 作者:行者123 更新时间:2023-11-30 21:59:37 25 4
gpt4 key购买 nike

我有一个非常基本的代码:

import sys

file = sys.argv[0]
arg = int(sys.argv[1:])

def multiplier(x):

if arg < 1:
print('Put an argument in')
else:
totals = 1
for i in range(1,x+1):
totals *= i
return totals



print(multiplier(arg))

我试图从命令行运行它,但我不断收到此错误:

  File "program.py", line 4, in <module>
arg = int(sys.argv[1:])
TypeError: int() argument must be a string, a bytes-like object or a
number, not 'list'

我理解这个错误,但我是命令行新手,所以我在命令行上下文中有点困惑。

如果一切顺利,我希望得到这样的结果(输入/输出):

>>> Python program.py 10
3628800

如果有人有任何建议,我们将不胜感激!

最佳答案

方括号中的冒号表示前面列表对象的切片。在这种情况下,您只需要第二个项目(索引为 1),而不是从索引 1 开始的列表 sys.argv 的一部分:

arg = int(sys.argv[1])

关于python - 命令行 - int() 参数必须是字符串、类似字节的对象或数字,而不是 'list',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54523228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com