python - 类型错误 : 'int' object is not subscriptable {Python}

标签 python math

from math import log

lliste = [2]
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
counter = 2
x = 2
while lliste[-1] < bovengrenspriem or lliste[-1]== bovengrenspriem:
    liste = []
    for i in range (1,counter+1):
        if counter % i == 0:
            liste.append(i)
    if len(liste) == 2:
        lliste.append(counter)
        counter += 1
    else:
        counter +=1

lliste[:]= [float(p)for p in lliste]       
lliste[:]= [log(x[t]) for t in lliste]

错误似乎就在这里。对于“int”对象不可下标,浮点线是我测试的,如果将列表中的每个数字转换为 float 是否可以修复它,但它似乎不起作用

 a = sum (lliste)
    result = a/bovengrenspriem
    print (result)

最佳答案

首先要做的事情......没有理由在这里使用 eval 有一个更简单的方法来做到这一点:

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

这将是:

while not bovengrenspriem.isdigit()

至于错误消息......您正在尝试在中索引 int

x[t]

关于python - 类型错误 : 'int' object is not subscriptable {Python},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44487987/

相关文章:

math - 如何使用带有数学公式的对数似然相似度度量来计算相似度?

c# - 值(value)随时间呈指数衰减

Python (Scikeras) - ValueError : Invalid parameter layers for estimator KerasClassifier

python - 在字典上映射

python - 不理解 Python 中的读取命令

algorithm - 查找三个排列列表的可能组合数

PHP 将数字加一

algorithm - HSV 颜色到 RGB 颜色算法 - 线性插值颜色

python - 找到连接到 n 的所有节点

Python OOP 继承类