根据题目写的,但是不知道出什么问题了导致乘方的答案出错,我的想法很简单,利用if语句。计算结果是对的但是有一句话,它不应该出现的。
![](https://profile-avatar.csdnimg.cn/default.jpg!4)
计算器的代码乘方结果出错了
- 写回答
- 好问题 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 网络科学导论,网络控制
- ¥15 metadata提取的PDF元数据,如何转换为一个Excel
- ¥15 关于arduino编程toCharArray()函数的使用
- ¥100 vc++混合CEF采用CLR方式编译报错
- ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
- ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
- ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
- ¥50 如何openEuler 22.03上安装配置drbd
- ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
- ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)