我的Python TeleBot计算器不起作用

问题描述

这是我见过的最简单的代码。我的Python机器人无法正常工作。 不起作用的是,将/ start命令发送到bot时,它没有开始执行任何操作。从逻辑上讲,它必须启动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,bot.get_me()))
  b = message.text

def ThirdNum(message):
  bot.send_message(message.chat.id,bot.get_me()))
  c = message.text

解决方法

while循环条件中存在逻辑错误。因此显然while循环不会运行,因为条件0 + 0 + 0 > 0将为false。

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...