python实现输入数字的连续加减方法


Posted in Python onJune 22, 2018

不用库,写了很久,一直出bug,到网上一搜,可以直接输入之后,eval(str)即可得到结果!

eval程序如下:

s=input("请输入要运算的数字")
print("The result is{}".format(eval(s)))

下面是不用eval实现加减的代码:主要思想就是通过一个标志位flag来计算是否进行加减,其他的都很好理解

s=input("请输入要运算的数字")
l=len(s)
h=0
i=0
flag=1
a=0
for i in range(0,l):
 if s[i]=='+' or s[i]=='-':
  flag=1
  c=s[i]
 else:
  flag=0
  a=a*10+round(int(s[i]))
 if flag==1 and s[i]=='+':
  h+=a
  a=0
 elif flag==1 and s[i]=='-':
  h-=a
  a=0
print(h)

现在贴上一直出错的代码,也算是长点经验,提醒自己下一次细心一点:

s=input("请输入要运算的数字")
l=len(s)
h=0
i=0
while i<=l:
 a=0
 c=s[i]
 i+=1
 while s[i]!='+' and s[i]!='-' and i<=l :
  a=a*10+round(int(s[i]))
  i+=1
 if c=='+':
  h+=a
 else:
  h-=a
print(h)
#错误类型:IndexError: string index out of range(字符串越界)

说明一下,越界有两个原因:

①能够访问的最大字符串是len(str)-1 (ps上图直接是len(str))

②python执行的方法是一句一句执行的,所以i<=l-1应该放在s[i] != '+'的前面

下面贴上修改过后能运行并且可以输出正确结果的代码:

s=input("请输入要运算的数字")
l=len(s)-1
h=0
i=0
while i<=l:
 a=0
 c=s[i]
 i+=1
 while i<=l and s[i]!='+' and s[i]!='-' :
  a=a*10+round(int(s[i]))
  i+=1
 if c=='+':
  h+=a
 else:
  h-=a
print(h)

以上这篇python实现输入数字的连续加减方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用python编写批量卸载手机中安装的android应用脚本
Jul 21 Python
python通过smpt发送邮件的方法
Apr 30 Python
Python列表list解析操作示例【整数操作、字符操作、矩阵操作】
Jul 25 Python
Python使用matplotlib绘制多个图形单独显示的方法示例
Mar 14 Python
解决python报错MemoryError的问题
Jun 26 Python
对python 自定义协议的方法详解
Feb 13 Python
python抖音表白程序源代码
Apr 07 Python
实例详解Python装饰器与闭包
Jul 29 Python
Python实现企业微信机器人每天定时发消息实例
Feb 25 Python
django实现将后台model对象转换成json对象并传递给前端jquery
Mar 16 Python
PyCharm 2020 激活到 2100 年的教程
Mar 25 Python
UI自动化定位常用实现方法代码示例
Oct 27 Python
Python之用户输入的实例
Jun 22 #Python
Python交互环境下实现输入代码
Jun 22 #Python
python实现搜索文本文件内容脚本
Jun 22 #Python
python实现textrank关键词提取
Jun 22 #Python
python实现自主查询实时天气
Jun 22 #Python
python实现定时提取实时日志程序
Jun 22 #Python
pandas 读取各种格式文件的方法
Jun 22 #Python
You might like
如何在PHP程序中防止盗链
2008/04/09 PHP
php Rename 更改文件、文件夹名称
2011/05/24 PHP
Joomla开启SEF的方法
2016/05/04 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
2017/10/19 PHP
详解使用php-cs-fixer格式化代码
2020/09/16 PHP
javascript实现的一个带下拉框功能的文本框
2014/05/08 Javascript
在线所见即所得HTML编辑器的实现原理浅析
2015/04/25 Javascript
详解JavaScript中shift()方法的使用
2015/06/09 Javascript
bootstrap实现弹窗和拖动效果
2016/01/03 Javascript
AngularJS中的API(接口)简单实现
2016/07/28 Javascript
Ztree新增角色和编辑角色回显问题的解决
2016/10/25 Javascript
基于JS实现横线提示输入验证码随验证码输入消失(js验证码的实现)
2016/10/27 Javascript
JS匿名函数类生成方式实例分析
2016/11/26 Javascript
jquery精度计算代码 jquery指定精确小数位
2017/02/06 Javascript
jQuery中Chosen三级联动功能实例代码
2017/03/07 Javascript
JS ES6多行字符串与连接字符串的表示方法
2017/04/26 Javascript
vue实现页面加载动画效果
2017/09/19 Javascript
vue使用 better-scroll的参数和方法详解
2018/01/25 Javascript
JS同步、异步、延迟加载的方法
2018/05/05 Javascript
在NPM发布自己造的轮子的方法步骤
2019/03/09 Javascript
微信小程序实现写入读取缓存详解
2019/08/30 Javascript
Vue中父子组件的值传递与方法传递
2020/09/28 Javascript
Python如何获取系统iops示例代码
2016/09/06 Python
Python判断中文字符串是否相等的实例
2018/07/06 Python
Django Form设置文本框为readonly操作
2020/07/03 Python
html5嵌入内容_动力节点Java学院整理
2017/07/07 HTML / CSS
英国在线购买马术服装:EQUUS
2019/07/12 全球购物
维多利亚的秘密阿联酋官网:Victoria’s Secret阿联酋
2019/12/07 全球购物
工商管理专业学生的自我评价
2013/10/01 职场文书
大学辅导员事迹材料
2014/02/05 职场文书
2014年商场超市庆元旦活动方案
2014/02/14 职场文书
2014年党支部学习材料
2014/05/19 职场文书
妈妈活动方案
2014/08/15 职场文书
第二批党的群众路线教育实践活动总结报告
2014/10/30 职场文书
向女朋友道歉的话
2015/01/20 职场文书
涨价通知
2015/04/23 职场文书