妙先生


私信TA

用户名:uq_57083779177

访问量:24877

签 名:

妙啊!

等  级
排  名 234
经  验 6004
参赛次数 0
文章发表 73
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:
    看见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分

1 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区

我充了刷题助手 这个测试数据太离谱了 三进制有个2400 如果你用int函数会报错 如果你从底层写就能算出结果
同样的代码 我在蓝桥杯官网提交 是100%正确 这网站有毒
2021-01-30 23:21:14
  • «
  • 1
  • »