我正在制作一个用于数学的小程序(没有特殊原因,只是出于某种原因),并且遇到错误“ TypeError:’NoneType’对象无法下标。
我从未见过此错误,所以我不知道这意味着什么。
import math
print("The format you should consider:")
print str("value 1a")+str(" + ")+str("value 2")+str(" = ")+str("value 3a ")+str("value 4")+str("\n")
print("Do not include the letters in the input, it automatically adds them")
v1 = input("Value 1: ")
v2 = input("Value 2: ")
v3 = input("Value 3: ")
v4 = input("Value 4: ")
lista = [v1, v3]
lista = list.sort(lista)
a = lista[1] - lista[0]
list = [v2, v4]
list = list.sort(list)
b = list[1] = list[0]
print str(a)+str("a")+str(" = ")+str(b)
错误:
Traceback (most recent call last):
File "C:/Users/Nathan/Documents/Python/New thing", line 16, in <module>
a = lista[1] - lista[0]
TypeError: 'NoneType' object is not subscriptable
lista = list.sort(lista)
这应该是
lista.sort()
该.sort()
方法就位,并返回None。如果您希望某些东西不就地返回值,则可以使用
sorted_list = sorted(lista)
除了#1:请勿致电您的清单list
。那掩盖了内置列表类型。
除了#2:我不确定这行是做什么的:
print str("value 1a")+str(" + ")+str("value 2")+str(" = ")+str("value 3a ")+str("value 4")+str("\n")
简单吗
print "value 1a + value 2 = value 3a value 4"
?换句话说,我不知道您为什么在已经存在的东西上调用str。
除了#3:有时您使用print("something")
(Python 3语法),有时您使用print "something"
(Python
2)。后者会在py3中给您一个SyntaxError,因此您必须运行2.
*,在这种情况下,您可能不想养成这个习惯,否则您将结束打印元组并加上额外的括号。我承认它在这里可以很好地工作,因为如果括号中只有一个元素,它不会被解释为元组,但是它对于python来说似乎很奇怪。
问题内容: 它告诉我第1行和第5行(是调试/编程的新手,不确定是否有帮助) 为什么会给我这个错误? 问题答案: 你想给函数传递 对象 到你的功能,而不是结果 调用 来(这是因为不返回任何东西)。 所以试试这个: 也许这可以帮助您更好地理解:
问题内容: 我正在尝试在python中使用pyodbc运行SQL命令。其中SQL命令包含多个SELECT命令和IF语句。 但我收到如下错误 问题答案: 包含多个SQL语句的SQL命令文本称为 匿名代码块 。匿名代码块可以返回多个结果,每个结果可以是 行数 包含零个或多个数据行的结果集,或 一个错误。 以下示例失败… …,因为第一个返回行计数,第二个返回其结果集。 解决方法是启动匿名代码块,该代码块
问题内容: 基本上,我有一个输入,用户会将数字值(浮动输入)放入其中,然后将所有这些上述列表索引设置为该值。出于某种原因,我无法在没有设置的情况下设置它们: 错误。我是在做错事还是只是以错误的方式看待它? 问题答案: 是一个花车。正在尝试访问浮点数的第一个元素。相反,做 要么
问题内容: 错误 :Tkinter回调跟踪中的异常(最近一次调用最近):文件“ /tools/python/2.7.2/lib/python2.7/lib- tk/Tkinter.py”,行1410,在 调用 返回self.func( * args)填充listb.pop [0]中的文件“ ./edit.py”,第581行,TypeError:’builtin_function_or_method
问题内容: 我有一个标记文件/标记格式的标记文件,并且尝试了一个函数,该函数返回带有(单词,标签)列表中单词的元组。 在python 2.7中效果很好,但是在python 3.4中,它给了我以下错误: 有人可以帮忙吗? 问题答案: 在Python 2中,返回一个列表。在Python 3中,返回一个可迭代的对象。但是您只需调用即可将其放入列表,如: 在这种情况下,将是: 通过列表,您可以使用索引:
问题内容: 我正在按照课堂作业的说明进行操作,并且应该在文本文件中查找前200个最常用的单词。 这是代码的最后一部分: 但是,当我在vocab 200行之后按Enter键时,它将返回: 关于如何解决此问题的任何建议,以便它可以正确返回答案? 问题答案: 看起来您正在使用Python3。在Python 3中,返回一个可迭代但不可索引的对象。最简单(但效率不高)的解决方案是: