【问题标题】:My Python TeleBot Calculator doesn't work我的 Python TeleBot 计算器不起作用
【发布时间】:2020-12-03 16:16:25
【问题描述】:

这是我见过的最简单的代码。我的 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,"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

【问题讨论】:

  • a > 0 & bbitwise and。我想你的意思可能是a > 0 && b
  • 另外,你还没有真正说过什么“不起作用”。是否有错误、意外的输出?如果不描述当前和预期的行为,任何人都无法提供太多帮助。
  • 你还没有调用你的函数,只是定义了它们,所以这些代码都不会运行
  • 但是你被要求扩展“不起作用”并且你没有edit这个问题来增加实际问题的清晰度
  • @roganjosh 我确实编辑了我的问题,请尝试帮助我

标签: python bots telegram python-telegram-bot


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2014-08-12
    • 2021-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多