首页 > 解决方案 > 我的 Python TeleBot 计算器不起作用

问题描述

这是我见过的最简单的代码。我的 Python 机器人不起作用。不工作的事情是,当 /start 命令被发送到机器人时,它不会开始做任何事情。逻辑上,它必须启动while循环 - 它没有。它甚至不以函数开头,FirstNum(). 这个想法是在循环内使用 If - Else 语句。

有什么建议么?我是python编码的初学者,所以不要严格评判我)

@bot.message_handler(commands=['start'])
def Main(message):
  a = 0
  b = 0
  c = 0
  while a + b + c > 0:
    if a == 0:
      FirstNum(message)
      break
      if a > 0 & b == 0:
        SecondNum(message)
        break
        if a > 0 & b > 0 & c == 0:
          ThirdNum(message)
          break
          if a + b + c > 0:
            bot.send_message(message.chat.id,a + b + c.format(message.from_user, bot.get_me()))

def FirstNum(message):
  bot.send_message(message.chat.id,"Type your number > 0".format(message.from_user, bot.get_me()))
  a = message.text

def SecondNum(message):
  bot.send_message(message.chat.id,"Type your number > 0".format(message.from_user, bot.get_me()))
  b = message.text

def ThirdNum(message):
  bot.send_message(message.chat.id,"Type your number > 0".format(message.from_user, bot.get_me()))
  c = message.text

标签: pythonbotstelegrampython-telegram-bot

解决方案


您在 while 循环条件中有一个逻辑错误。所以很明显while循环不会运行,因为条件0 + 0 + 0 > 0会是假的。

a + b + c >= 0在您的 while 循环中尝试条件。


推荐阅读