Python If语句被忽略

时间:2015-05-30 02:30:35

标签: python api tweepy

当我使用以下循环运行python tweepy函数时,下面的if语句将被忽略。返回的结果是“高”,即使它们应该说“非常高”或“中等”。即使它有时应该是“真实的”,似乎总是变得“虚假”,从而将状态从“高”改变。同样,标志总是变为0。

for i in xrange(0, len(ids), segment):

    for follower in client.lookup_users(user_ids=ids[i:i+segment]):
        flags=0
        x='false'
        y='false'
        status=''
        values=[]
        userId = userId
        name =str(follower.name.encode('utf-8'))
        screen_name = str(follower.screen_name.encode('utf-8'))
        background =str(follower.default_profile)
        profilePic = str(follower.default_profile_image)



        #Check if friends to follow ratio is higher than limit set above
        if friendsFollowersRatio>highfriendsFollowRatio:
            highFollow = 'true'
            x = 'true'
        else:
            highFollow = 'false'

        if lowFollowHighFriends == 'true':
            x = 'true'

        if tweetNum >= xNumberOfTweets:
            x = 'true'


        if background=='true' and profilePic=='true':
            flags = flags+2
        if screen_name==name:
             flags= flags+1
        if flags>1:
            y='true'


        if x=='true'and y=='true':
            status = 'very high'
        elif x=='true'and y=='false':
            status='high'
        elif x=='false'and y=='true':
            status='medium'
        #ADD INACTIVE
        else:
            status=' blank'



        #Put stuff here
        userId = userId + 1

        #add values to array
        values.append(userId)
        values.append(name)
        values.append(screen_name)
        values.append(background)
        values.append(profilePic)

 ####Create csv file ######
        #Add values as a new row in the data
        csvFile = open('file.csv','ab')
        #prep file to be written on
        newFile =csv.writer(csvFile)


        newFile.writerow(values)

        #close file
        csvFile.close()

1 个答案:

答案 0 :(得分:1)

我无法在任何地方看到您更新y的值,因此当您到达'false'时,它应始终为if。你的意思是在上面的一个地方设置它而不是x吗?名称如' x'并且' y'在这里很难猜出你的意思是什么,但你永远不会更新y所以你不应该期望它的价值会发生变化。

另外,为什么不使用TrueFalse而不是使用包含这些字符串的字符串?您应该使用bothon类型python而不是使用字符串。