Python ';str';对象不能解释为整数
这是我的冒泡排序python代码。它显示了标题中描述的错误Python ';str';对象不能解释为整数,python,Python,这是我的冒泡排序python代码。它显示了标题中描述的错误 def arrayinput(self): print ("Enter the elements") for i in range (0,n): //ERROR IS HERE b=input() arr.append(b) def arraysorting(self): for i in range (1,n): for j in
def arrayinput(self):
print ("Enter the elements")
for i in range (0,n): //ERROR IS HERE
b=input()
arr.append(b)
def arraysorting(self):
for i in range (1,n):
for j in range (0,n-i):
if ( arr[j]> arr[j+1]):
temp=arr[j]
arr[j]=arr[j+1]
arr[j+1]=temp
def arraydisplay(self):
print ("Sorted list is")
print (arr)
问题在于
b=input()
,这意味着它是从键盘获取的字符串。你想重播它。粗略地说,您可以b=int(input())
,但这不是处理潜在错误的可靠方法
要做得更详细一些,您可以尝试以下方法:
try:
b=int(input())
except:
print "You did not enter a valid integer"
print "How many times do you want to run?"
n=input()
编辑:
在阅读注释时,如果n
是一个字符串,则需要将其重新定义为整数。我想你做过类似的事情:
try:
b=int(input())
except:
print "You did not enter a valid integer"
print "How many times do you want to run?"
n=input()
请尝试:
n=int(input())
什么是
n
?我看不到它在任何地方被定义。我在任何地方都没有看到任何定义的变量。我定义了n,但在这里没有显示……显然,n
是str。您也需要这些代码,我们才能告诉您,您做错了什么。请提供一个。如果您不理解字符串和数字之间的区别,则需要回到基础。这是可行的…但当我在终端上运行原始代码时,它运行得很好!eclipse有什么问题?不知道,抱歉,很少使用exclipse。