python一道关于编写计算器的题

来源:互联网 发布:csol控制台优化流畅 编辑:程序博客网 时间:2024/06/08 20:12

题目

编写计算器。编写一个程序允许用户选择两个集合:A和B,及运算操作符。例如,in、not in、&、|、^、<等。解析输入的字符串,按照用户选择的运算操作。

程序中判断不同的操作符来进行不同的运算,但是判断的过程中我们要用到很多if - else语句感觉特别麻烦。有一种简单的办法我们可以在一个空字典中用键村操作符,用值来存函数名,这样就不需要经过很多的if - else语句了。参考了一片博客。(因为自己也想到了,但是不知道该怎么写,就参考了一篇博客)思路来源

def handlein(char1, char2):    if char1 in char2:        print('True')    else:        print('False')def handlenotin(char1, char2):    if char1 not in char2:        print('True')def handleintersection(char1, char2):    print(set(char1) & set(char2))def handleunion(char1, char2):    print(set(char1) | set(char2))def handleXOR(char1, char2):    print(set(char1) ^ set(char2))def  handlesubset(char1, char2):    if set(char1) < set(char2):        print('True')    else:        print('False')D = {'in': handlein, 'notin': handlenotin, '&': handleintersection, '|': handleunion, '^': handleXOR, '<': handlesubset}n = input('请输入你要进行的运算: ')m = n.split( )char1 = str(m[0])char2 = str(m[2])operational = str(m[1])D[operational](char1, char2)

注意题目中牵扯到了集合运算这时候我们要用set()把字符串转换成集合后在进行运算

请输入你要进行的运算: ab ^ abc{'c'}请输入你要进行的运算: ab in abcTrue请输入你要进行的运算: ab in aFalse请输入你要进行的运算: abc | abcd{'b', 'c', 'd', 'a'}请输入你要进行的运算: abc < abcdTrue请输入你要进行的运算: abc & defset()
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 4岁宝宝注意力不集中怎么办 孩子上课不专心听讲怎么办 小孩上课不认真听讲怎么办 一年级孩子上课不认真听讲怎么办 打了孩子很自责怎么办 4岁宝宝讲话结巴怎么办 网销客户不说话怎么办 两岁宝宝不说话怎么办? 4岁儿童说话结巴怎么办 3岁宝宝说话结巴怎么办 6岁儿童舌头短怎么办 5岁宝宝说话结巴怎么办 两岁宝宝说话晚怎么办 6岁儿童说话结巴怎么办 2岁宝宝呕吐拉稀怎么办 2岁宝宝突然呕吐怎么办 2岁宝宝呕吐发烧怎么办 2岁宝宝呕吐厉害怎么办 1岁宝宝半夜呕吐怎么办 2岁半宝宝呕吐怎么办 2岁宝宝半夜呕吐怎么办 两岁宝宝一直吐怎么办 原画师老了以后怎么办 孩子不想上学怎么办怎么去说服 嫉妒别人比我好怎么办 三岁宝宝爱打人怎么办 1岁宝宝喜欢打人怎么办 ps图层解锁不了怎么办 沈腾结婚马丽怎么办 延长甲没有纸托怎么办 高考第一志愿没录取怎么办 电子画颜料干了怎么办 数字画颜料干了怎么办 彩砂纸画不好了怎么办 宝宝吃了油画棒怎么办 2岁宝宝不爱刷牙怎么办 两岁宝宝不刷牙怎么办 1岁宝宝不爱刷牙怎么办 3岁宝宝不肯刷牙怎么办 20岁没学历迷茫怎么办 四岁了不长头发怎么办