Python 接收“或”;列表索引超出范围“;或;不支持的操作数类型;应该是简单代码块的错误

Python 接收“或”;列表索引超出范围“;或;不支持的操作数类型;应该是简单代码块的错误,python,Python,大家-这实际上是我关于堆栈溢出的第一篇文章,所以最终成为社区的一部分与我在旧文章中寻找解决家庭作业问题的方法相比真是太好了 我正在尝试学习Python,因为隔离让我有了比我预期的更多的空闲时间,但我遇到了一个非常奇怪的障碍,我没有完全理解 提示很简单-创建一个函数,添加_数字,将两个参数相加并返回它们。然后我必须在代码内部调用该函数(functions.py),以便我使用的学习程序可以检查我的工作 我的代码如下(文件顶部的“导入系统”未显示): 当我这样离开它时,我会得到一个错误,说“列表索引超

大家-这实际上是我关于堆栈溢出的第一篇文章,所以最终成为社区的一部分与我在旧文章中寻找解决家庭作业问题的方法相比真是太好了

我正在尝试学习Python,因为隔离让我有了比我预期的更多的空闲时间,但我遇到了一个非常奇怪的障碍,我没有完全理解

提示很简单-创建一个函数,添加_数字,将两个参数相加并返回它们。然后我必须在代码内部调用该函数(functions.py),以便我使用的学习程序可以检查我的工作

我的代码如下(文件顶部的“导入系统”未显示):

当我这样离开它时,我会得到一个错误,说“列表索引超出范围”,但如果我改为

maths = add_numbers(sys.argv[0],sys.argv[1])

相反,我得到的错误是“TypeError:不支持+:'set'和'set'的操作数类型”。我对这个错误的含义感到非常困惑,更不用说为什么会发生这种情况了。我很确定,如果我试图在C++中构造与此非常类似的结构,那么我就没有问题了——那么为什么Python现在就向我扔了?< /P> < P>函数<代码>代码中的加法部分> AddioStigabs<代码>应该是这样的:代码> NUM1+NUM2<代码>,没有<代码> {} /COD>字符。< /P> 至于与sys.argv相关的查询,当您从命令行运行python程序时,第一个参数或sys.argv[0]是
file\u name
,并在其上传递其他参数

编辑:

此外,在像这样相加之前,您需要将输入键入int或float


math=add_number(int(sys.argv[1])、int(sys.argv[2])

您正在尝试添加两个集合:
{num1}+{num2}
。不要让他们设置
列表索引超出范围
,因为Python中的索引从0开始。因此,如果您有两个参数
sys.argv[0]
sys.argv[1]
,请给出第一个和第二个参数
sys.argv[2]
给出了第三个参数。因此,如果您只有两个参数,您将得到
列表索引超出范围
,至于索引错误,您如何运行脚本?这意味着你只传递了一个参数
sys.argv[0]
应该是script@juanpa.arrivillaga我删除了num1和num2周围的{}以取消设置它们(这是我的错误),但现在我得到了另一个列表索引错误。我正在通过Windows PowerShell运行脚本,我的计算机上安装了Python3。您需要提供一个解决方案。您如何运行脚本?你试过做一些基本的调试吗<代码>打印(sys.argv)似乎是自然的第一步。当我问怎么做的时候,我指的是你在shell上运行的确切命令。我遵循了你的指示,它确实澄清了一些事情,但是有一个但是。首先,当我在PowerShell中运行代码时,我没有得到预期的“3”,而是得到了“12”,这意味着我的代码只是将num1和num2混合在一起,而不是实际添加它们。其次,我使用的学习程序上下发誓我仍然有一个列表错误,我不理解,因为我可以很好地运行我的代码。@DanielO'Dette,因为
sy.arv
是一个字符串列表,并且
+
连接字符串。你正在使用的学习程序是什么?TwilioQuest-我在拼命尝试学习Python,但到目前为止,我似乎失败了。提示确实希望我将两者相加,因此我在下面的某个地方搞砸了line@DanielO'Dette您需要通过执行以下操作将字符串键入int
math=add_numbers(int(sys.argv[1])、int(sys.argv[2])
谢谢,这在PowerShell中起到了作用。TwilioQuest拒绝相信我真的有一个功能程序,它产生的error.txt继续读到有一个列表错误,但这可能会通过重新启动来修复。作为一个相关的问题,有没有直接输入int参数的方法,或者在所有需要输入int的情况下都需要使用int(sys.argv[1])?
maths = add_numbers(sys.argv[0],sys.argv[1])