概述
问题似乎在于:lliste[:]= [log(x[t]) for t in lliste]
x[t]期望x是一个列表/数组等,而x被定义为2(一个int),因此int是不可订阅的。在
另外(除了真正的问题,你可以做一些简单的改进):
在
^{pr2}$
计数器总是增加的,因此您可以写下:if len(liste) == 2:
lliste.append(counter)
counter +=1
你可以改变while lliste[-1] < bovengrenspriem or lliste[-1]== bovengrenspriem:
进入while lliste[-1] <= bovengrenspriem:
用英语写评论(但是我来自荷兰,所以我懂荷兰语)。在
尽量使用好的命名变量和大写字母。列斯特可能是一个列表,但是第一个l和最后一个e是什么?莱斯特会更清楚,但最好是像primeListEnd(?)或者更合适的。在
改变bovengrenspriem = eval(input('geef een getal van die je weten wil welke priemgetal het is? ',))
while not type(bovengrenspriem) == int:
bovengrenspriem = eval(input('Foute invoer, geef een getal van die je weten wil welke priemgetal het is? ',))
if type(bovengrenspriem) == int:
break
比如说:bovengrenspriem = None
while not type(bovengrenspriem) == int:
...
这将保存第一个重复原始行的副本。在
但是,更好的方法是使用单独的布尔值upperBoundaryPrimeValid = False
while !upperBoundaryPrimeValid:
..
if valid ... (pseudo code)
upperBoundaryPrimeValid = True;
最后
以上就是神勇向日葵为你收集整理的python对象不可订阅_TypeError:“int”对象不可订阅{Python}的全部内容,希望文章能够帮你解决python对象不可订阅_TypeError:“int”对象不可订阅{Python}所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复