TypeError:“int”对象不可读取(python新增)

2024-06-13 16:23:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python新手,不知道为什么我的代码会抛出这个错误。我试着用c来比较这两个列表。在

def playPowerball():
    powerball = []
    choices = []
    c = []
    while len(powerball) < 6:
        number = random.randint(1,64)
        if number not in powerball:
            powerball.append(number)
    while len(choices) < 6:
        pick = int(raw_input('Pick a number between 1 and 64: '))
        if pick not in choices:
            choices.append(pick)
    for i in powerball:
        for i in choices:
            c += 1
    print ('You have',c,'correct',powerball,choices)

错误:

^{pr2}$

编辑:我的意思是选择而不是选择,但是代码仍然不起作用。在

编辑2:谢谢你,斯克瓦,这解决了我的问题!在


Tags: 代码in编辑numberforlenif错误
2条回答

错误很明显:pick是一个int。语法for i in *someInt*在python中不是有效的语法。在

因为你写了这句话:

   pick = int(raw_input('Pick a number between 1 and 64: '))

然后,使用.... in pick。在

想象一下pick值是5。在

for i in 5或{}实际应该做什么?在

您试图迭代一个无效的整数。你的问题是: 您已经指定了pick数据类型'Integer',但是尝试像列表一样遍历它。在

 for i in powerball:
        for i in pick:
            c += 1

 for i in powerball:
 -> 17         if i in pick:
     18             c += 1

我想你想检查一下这个号码是不是在强力球里?在

您可以将第17行改为:

^{pr2}$

相关问题 更多 >