почему у меня ошибка python unindent не соответствует какой-либо ошибке уровня внешнего отступа

#python #ubuntu

#python #ubuntu

Вопрос:

 from TikTokApi import TikTokApi 
import time 
import os
import random 

api = TikTokApi()

def getLikeCount():
    tiktoks = api.byUsername('user', count=1)
    for tiktok in tiktoks:
        likeCount = tiktok["stats"]["diggCount"]
        shareCount = tiktok["stats"]["shareCount"]
        commentCount = tiktok["stats"]["commentcount"]
        followCount = tiktok["authorStats"]["followerCount"]
        return (likeCount,shareCount,commentCount,followCount)

def fag():
    os.system("afplay -/desktop/tiktok/fag.mp3 ")


def update():
    initLikeCount = 0
    while True:
        results = getLikeCount()
        currentNumLikes = results[0]
        print("sleep time")
        time.sleep(5)

        if currentNumLikes > initLikeCount:
            newLikes = currentNumLikes - initLikeCount
            initLikeCount = currentNumLikes
            print("new like count = ",newLikes)
            for x in range(newLikes):
                print("now playing this Fag.mp3",x)
                time.sleep(random.randint(0,3))
                fag()
           else()
            print("no new likes ):")
update()
#getLikeCount() 
  

почему это происходит, я создаю tiktok-бота, который каждый раз, когда я получаю лайк, я получаю шум для воспроизведения (кстати, я на ubuntu, но это также произошло с Windows)

Комментарии:

1. Потому что ваш else отступ отличается if от отступа? Если вы полностью не уничтожили отступ кода при создании этого вопроса

Ответ №1:

else Оператор не согласован с if оператором.

Кстати, в следующий раз используйте ctrl-K, чтобы выровнять ваш код в StackOverflow.

Комментарии:

1. как я меняю код на все, что я знаю, и он по-прежнему выдает мне ошибку

2. Я все еще вижу, что else это как раз перед if выравниванием. Это должно быть ТОЧНО под if инструкцией.

Ответ №2:

В ваших функциях есть несколько небольших ошибок getLikeCount и update

 def getLikeCount():
    tiktoks = api.byUsername('user', count=1)
    for tiktok in tiktoks:
        likeCount = tiktok["stats"]["diggCount"]
        shareCount = tiktok["stats"]["shareCount"]
        commentCount = tiktok["stats"]["commentcount"]
        followCount = tiktok["authorStats"]["followerCount"]
    return (likeCount,shareCount,commentCount,followCount) # indentation corrected

def update():
    initLikeCount = 0
    while True:
        results = getLikeCount()
        currentNumLikes = results[0]
        print("sleep time")
        time.sleep(5)

        if currentNumLikes > initLikeCount:
            newLikes = currentNumLikes - initLikeCount
            initLikeCount = currentNumLikes
            print("new like count = ",newLikes)
            for x in range(newLikes):
                print("now playing this Fag.mp3",x)
                time.sleep(random.randint(0,3))
                fag()
        #  else() <- your code
        else: # indentation, brackets and colon corrected
            print("no new likes ):")