原题链接:蓝桥杯2017年第八届真题-小计算器
解题思路:
看见python没人写、我就写个提供参考。
思路简单就是按照题意来就是、和平时使用的计算器一样。但可能有些细节啥的没注意到,只过了50%的数据。有过了的评论区贴下代码、会回来看的,谢谢了。
参考代码:
n = int(input()) com = "" #用来存运算的字符串 ary = 10 #表示当前进制 dirS = {"ADD":"+","SUB":"-","MUL":"*","DIV":"//","MOD":"%"} #存对应的运算 def arySwap(ary,num): #10进制转换成任何进制 s = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" if num == 0: return 0 res = "" while num!=0: res = s[num%ary]+res num = num//ary return res for _ in range(n): order = list(input().split()) if len(order)>1: if order[0] == "NUM": com += str(int(order[1],base=ary)) if order[0] == "CHANGE": ary = int(order[1]) else: if order[0] == "CLEAR": com = "" elif order[0] == "EQUAL": print(arySwap(ary,eval(com))) com = "" else: com += dirS[order[0]]
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复