大家好,这实际上是我在Stack Overflow上的第一篇帖子,所以很高兴最终成为社区的一员,而不是我浏览旧帖子来解决家庭作业问题!
我正在努力学习Python,因为隔离让我有了比预期更多的空闲时间,但我遇到了一个我不太理解的奇怪障碍。
提示很简单——生成一个函数add_numbers,它将把两个参数相加并返回。然后,我必须在代码中调用该函数(functions.py(,以便我使用的学习程序可以检查我的工作。
我的代码是这样的(没有显示的是文件顶部的"导入系统"(:
def add_numbers(num1,num2):
sum = {num1} + {num2}
return sum
maths = add_numbers(sys.argv[1],sys.argv[2])
print(maths)
当我这样离开它时,我会得到一个错误,上面写着";列表索引超出范围";,但如果我改为
maths = add_numbers(sys.argv[0],sys.argv[1])
相反,我得到一个错误,它读作";TypeError:不支持+的操作数类型:"set"one_answers"set";。我很困惑这个错误意味着什么,更不用说为什么会发生这种情况了。我很确定,如果我试图在C++中做一些结构上与之非常相似的事情,我不会有任何问题——那么为什么Python现在要向我抛出一个呢?
函数add_numbers
中代码的添加部分应该与num1 + num2
类似,不包含{}
字符。
至于与sys.argv相关的查询,当您从命令行运行python程序时,第一个参数或sys.argv[0]是file_name
,并且在其上传递了其他参数
编辑:
此外,在像这样相加之前,您需要将输入键入int或float
maths = add_numbers(int(sys.argv[1]),int(sys.argv[2]))