根据题目写的,但是不知道出什么问题了导致乘方的答案出错,我的想法很简单,利用if语句。计算结果是对的但是有一句话,它不应该出现的。

计算器的代码乘方结果出错了
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- CSDN专家-天际的海浪 2022-04-13 00:26关注
你要先用if需要两个操作数还是需要一个操作数,再在不同的分支中用eval(input())输入
你题目的解答代码如下:print('简单计算器') while True: ch = input('请选择输入1+,2-,3*,4/,5**2,6%,7//\t输入0退出') if ch=='0': print('Bye!') break if ch not in ["1","2","3","4","5","6","7","+","-","*","/","**2","%","//"]: print('输入错误,请选择输入1+,2-,3*,4/,5**2,6%,7//') else: if ch!="5" and ch!="**2": n1,n2 = eval(input('请输入两个操作数,并用逗号分隔:')) if ch=="1" or ch=="+": print('{}+{}={:<16.4f}'.format(n1,n2,n1+n2)) elif ch=="2" or ch=="-": print('{}-{}={:<16.4f}'.format(n1,n2,n1-n2)) elif ch=="3" or ch=="*": print('{}*{}={:<16.4f}'.format(n1,n2,n1*n2)) elif n2==0: print('除数不能是0!') elif ch=="4" or ch=="/": print('{}/{}={:<16.4f}'.format(n1,n2,n1/n2)) elif ch=="6" or ch=="%": print('{}%{}={:<16.4f}'.format(n1,n2,n1%n2)) elif ch=="7" or ch=="//": print('{}//{}={:<16.4f}'.format(n1,n2,n1//n2)) else: n3 = eval(input('请输入一个操作数:')) print('{}**2={:<16.4f}'.format(n3,n3**2))
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录