这是我的冒号排序的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 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)
答案 0 :(得分:0)
问题在于b=input()
,这意味着它是从键盘获得的字符串。你想重新投射它。粗略地说,你可以b=int(input())
,但这不是解决潜在错误的有效方法。
为了更详细一点,您可以尝试以下方法:
try:
b=int(input())
except:
print "You did not enter a valid integer"
编辑:
在阅读评论时,如果n
是一个字符串,那么您需要将其重新定义为整数。我假设你做了类似的事情:
print "How many times do you want to run?"
n=input()
尝试改为:
n=int(input())