python - 我的 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
解决方案
您在 while 循环条件中有一个逻辑错误。所以很明显while循环不会运行,因为条件0 + 0 + 0 > 0
会是假的。
a + b + c >= 0
在您的 while 循环中尝试条件。
推荐阅读
- python - 美丽的汤:试图得到一个 div 的孩子
- pcre - PCRE 匹配捕获子模式
- video-processing - 使用 FFMPEG 在流中搜索音频剪辑或视频帧
- npm - 您好,我在尝试启动 stencil 时遇到了这个问题
- flutter - 如何从我的 Flutter 应用程序打开个人资料 Linkedin 应用程序?
- python - 如何使用 ARIMA-ei 从历史时间序列数据和具有多个变量的 df 预测未来值随着时间推移的多个国家统计数据
- .net - WPF MahApps Listview 性能
- excel - VBA复制 - 粘贴 - 特殊粘贴不起作用
- beagleboneblack - 通过 USB 主机提供对 Beaglebone black 的 Internet 访问
- go - Go中的“编译”和“构建”有什么区别?