问题描述
这是我见过的最简单的代码。我的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
条件。