' STR' object不能解释为整数

时间:2015-10-20 10:25:20

标签: 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 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)

1 个答案:

答案 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())