原题链接:PTA | 程序设计类实验辅助教学平台
Tips:以下Python代码仅个人理解,非最优算法,仅供参考!多学习其他大佬的AC代码!
num = {'ling':0, 'yi':1, 'er':2, 'san':3, 'si':4, 'wu':5, 'liu':6, 'qi':7, 'ba':8, 'jiu':9}
for i in range(11):
s = input()
if s.isalpha():
word = s.lower()
if word in num:
print(num[word],end='')
elif '+' in s:
a, b = map(int, s.split('+'))
print(a+b,end='')
elif '-' in s:
a, b = map(int, s.split('-'))
print(a-b,end='')
elif '*' in s:
a, b = map(int, s.split('*'))
print(a*b,end='')
elif '/' in s:
a, b = map(int, s.split('/'))
print(a//b,end='')
elif '%' in s:
a, b = map(int, s.split('%'))
print(a%b,end='')
elif '^' in s:
a, b = map(int, s.split('^'))
print(a**b,end='')
elif 'sqrt' in s:
a = int(s.replace('sqrt',''))
print(int(a**0.5),end='')
# 坑点测试点4:题目保证每个计算至多只有 1 个运算符
# 考虑没有运算符的情况,直接输出数字
else:
print(int(s),end='')