根据题目写的,但是不知道出什么问题了导致乘方的答案出错,我的想法很简单,利用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))
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 一直显示正在等待HID—ISP
- ¥15 Python turtle 画图
- ¥15 关于大棚监测的pcb板设计
- ¥15 stm32开发clion时遇到的编译问题
- ¥15 lna设计 源简并电感型共源放大器
- ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
- ¥15 Vue3地图和异步函数使用
- ¥15 C++ yoloV5改写遇到的问题
- ¥20 win11修改中文用户名路径
- ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入