函数不返回任何值,但它应该返回字符串,这可能非常愚蠢

2024-06-01 06:15:13 发布

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

我已经在新的python文件中多次单独检查了这个函数,它们可以工作,但是当我在python脚本中运行它们时,返回“None”

       print("message ==> ||" + user_message + "||")
        print(str(user_message))
        return str(user_message)

def not_quit(number_of_games_loss):
    message = str(newMessageFromUser(number_of_games_loss))
    print(message)

它应该返回5,正如你所看到的,我正在打印用户_消息,以符合它将返回的内容,但是,当我可以调用函数并打印它时,也应该返回5。它打印“无”

输出

688
message ==> ||5||
5
None

||||
invalid literal for int() with base 10: 'None'

|||
game is already started 😑😑🙄🙄, PLAY !!! PLAY !!! PLAY!!!  or to quit send message 'quit'

我的完整代码

你可以删除所有内部的HTML部分并编写 inner_HTML = str(5),因为它工作得很好,我已经测试过了

def newMessageFromUser(number_of_games_loss ,AFK_TIME = 30):
    if AFK_TIME == 30:
        sleep(3)
    inner_HTML =  browser.find_element_by_class_name("VUU41")
    inner_HTML = inner_HTML.get_attribute('innerHTML')

    i = inner_HTML[len(inner_HTML) - 100 : ]
    user_message = str(i[i.find('''hjZTB"><span>''') + len('''hjZTB"><span>''') : i.find('''</span></div></div></div>''')])
    oi = inner_HTML[len(inner_HTML) - 1310 : ] 
    oi_1 = oi.find('''</a>''')
    if oi_1 != -1:
        print(oi_1)
    
    if oi_1 == -1:
        afk = AFK_TIME - 1
        sleep(1)
        if AFK_TIME == 0:
            sendMessage("⏱⏱  u have been kicked out of game because u where AFK_TIME for a long time 😝😝😝 😀😀" , browser)
            print("⏱⏱ user have been kicked out of game because u where AFK_TIME for a long time 😝😝😝 😀😀")
            number_of_games_loss +=1
            saveData(number_of_games,number_of_games_loss,number_of_games_won,username,data_path)
            exit()
        d = afk/5
        if d in range(1,1000) and afk != 0:
          print("no message, AFK_TIME for " + str((afk - 30)).replace("-","")  + "sec" )
        newMessageFromUser(number_of_games_loss , AFK_TIME=afk )
    else:
        user_message = user_message.replace(" ","")
        print("message ==> ||" + user_message + "||")
        print(str(user_message))
        return str(user_message)



# userWillingToPlay game loop 
def not_quit(number_of_games_loss):
    message = str(newMessageFromUser(number_of_games_loss))
    print(message)
    try: 
        m = int(message)
        if( 1 <= m) and (m <= 7):
            player_move = int(m)
            return player_move
        else:
            sendMessage("invalid row number 😅😅",browser)
    except Exception as e:
        print("\n||||")
        print(e)
        print("\n|||")
        if "quit" in message:
            number_of_games_loss += 1
            saveData(number_of_games ,number_of_games_loss , number_of_games_won , username , data_path)
            sendMessage("Game quit's ☠🤦🏻‍♂️" , browser)
            print("game Over exiting .py file")
            exit()
        else:
            print("game is already started 😑😑🙄🙄, PLAY !!! PLAY !!! PLAY!!!  or to quit send message 'quit' ")
            sendMessage("game is already started 😑😑🙄🙄, PLAY !!! PLAY !!! PLAY!!!  or to quit send message 'quit' " , browser)
            not_quit(number_of_games_loss)

player_move = not_quit(number_of_games_loss)

非常感谢您提前帮助我

如果这是个愚蠢的问题,我也很抱歉


Tags: ofgamenumbermessageplaytimehtmlgames