通过全局函数实现微信消息上下文的值计算。
import itchat
from itchat.content import *
num1 = None
t = 'X'
worktype = {
'W':'启动',
'A':'加法',
'B':'减法',
'C':'乘法',
'D':'除法',
'X':'退出'
}
@itchat.msg_register(TEXT)
def get_text(msg):
global t
global num1
i = msg.content
if i == 'W':
t = 'W'
return '程序运行中:'+ str(worktype)
if t in 'WABCD':
if i == 'Xx':
t = 'X'
return '程序已退出,发送W启动。'
if i in 'ABCDabcd':
t = i
return '正在进行%s计算,请输入数字1:'%worktype[t]
elif t in 'ABCDabcd' and num1 is None:
try:
num1 = float(i)
return '正在进行%s计算,请输入数字2:'%worktype[t]
except:
return '输入的不是数字,请重新输入。'
elif num1 is not None:
try:
if t in 'Aa':s = num1 + i
elif t in 'Bb':s = num1 - i
elif t in 'Cc':s = num1 * i
elif t in 'Dd':s = num1 / i
num1 = None
return '正在进行%s计算,计算的结果是:%f'%(worktype[t], s)
except:
return '输入的不是数字或计算有误,请重新输入。'
if __name__ == '__main__':
itchat.auto_login()
itchat.run(True)