Python中使用不同方法按升序排列数字
它给出了Python中使用不同方法按升序排列数字,python,Python,它给出了TypeError说'NoneType'对象不可编辑。 如何解决需要帮助的问题 我的代码如下: def升序(a、b、c): l=[a,b,c] 如果a
TypeError
说'NoneType'对象不可编辑
。
如何解决需要帮助的问题
我的代码如下:
def升序(a、b、c):
l=[a,b,c]
如果a
错误消息:
回溯(最近一次呼叫最后一次):
文件“test_ascending.py”,第21行,在
s=上升(5,7,3)
文件“test_ascending.py”,第13行,升序
e=最大值(l)
TypeError:“非类型”对象不可编辑
您的代码有两个问题。TypeError:“NoneType”对象不可编辑
是因为l.remove(d)
不删除任何内容,因此语句:
l = l.remove(d)
将l
的值设置为None
同样,list.append()
没有返回值,因此该行:
list = list.append(d)
类似的陈述也有同样的问题
虽然它目前没有引起任何问题,但是您也不应该给变量起与任何Python内置类相同的名称,例如list
,它是一个内置类。这样做可能会导致问题,并使懂该语言的人更难理解您的代码
下面是您的代码的工作版本,其中包含对其所做的所有修改,因此现在执行时不会出现错误:
def ascending(a,b,c):
l = [a,b,c]
if a < b and a < c:
d = a
elif b < c:
d = b
else:
d = c
l.remove(d)
e = max(l)
f = l[0]
my_list = []
my_list.append(d)
my_list.append(f)
my_list.append(e)
return my_list
s = ascending(5,7,3)
print(s) # -> [3, 5, 7]
def升序(a、b、c):
l=[a,b,c]
如果a[3,5,7]
将您的代码和错误以文本而不是图像的形式发布。请尝试制定一个您想要回答的特定问题。处理您的问题并发布您的解决方案。在Python中,变量名称区分大小写,这意味着Foobar
与Foobar
不同。为了将来的参考,请阅读。在您的问题中添加一个指向代码图像的链接与上载和嵌入一个图像是等效的,并且有相同的问题。谢谢您,我们可以用python为数组提供输入吗?我刚才试过,但遇到了类似这样的错误ValueError:对于以10为基数的int()无效文字:“a=arr.array('i',[passing])”我不明白以10为基数是什么意思Darkstar:对不起,我不能从那段代码中看出什么是错的。这样的错误消息通常意味着尝试将字符串转换为int
,但字符串中的一个或多个字符不是十进制数字,即'0','1',…'9'
-因此您应该问一个新问题…并确保指定arr.array
的类型。