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中使用OpenCV库来进行简单的气象学遥感影像计算
Feb 19 Python
Python中二维列表如何获取子区域元素的组成
Jan 19 Python
python 字符串转列表 list 出现\ufeff的解决方法
Jun 22 Python
python实现ID3决策树算法
Dec 20 Python
python实现NB-IoT模块远程控制
Jun 20 Python
使用Python的OpenCV模块识别滑动验证码的缺口(推荐)
May 10 Python
python中pip的使用和修改下载源的方法
Jul 08 Python
python 使用while写猜年龄小游戏过程解析
Oct 07 Python
Python创建一个元素都为0的列表实例
Nov 28 Python
pytorch实现保证每次运行使用的随机数都相同
Feb 20 Python
15款Python编辑器的优缺点,别再问我“选什么编辑器”啦
Oct 19 Python
Python实现Appium端口检测与释放的实现
Dec 31 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
星际争霸秘籍
2020/03/04 星际争霸
PHP gbk环境下json_dencode传送来的汉字
2012/11/13 PHP
PHP中CURL方法curl_setopt()函数的参数分享
2013/01/19 PHP
php实现的zip文件内容比较类
2014/09/24 PHP
php实现网站顶踩功能的完整前端代码
2015/07/19 PHP
php中strlen和mb_strlen用法实例分析
2016/11/12 PHP
PHP实现的XML操作类【XML Library】
2016/12/29 PHP
PHP学习笔记之session
2018/05/06 PHP
TP5框架实现一次选择多张图片并预览的方法示例
2020/04/04 PHP
js调用flash的效果代码
2008/04/26 Javascript
在浏览器窗口上添加遮罩层的方法
2012/11/12 Javascript
file模式访问网页时iframe高度自适应解决方案
2013/01/16 Javascript
JS特殊函数(Function()构造函数、函数直接量)区别介绍
2013/05/19 Javascript
js的touch事件的实际引用
2014/10/13 Javascript
jquery滚动到顶部底部代码
2015/04/20 Javascript
浅析javascript异步执行函数导致的变量变化问题解决思路
2016/05/13 Javascript
Vue.js 2.0 和 React、Augular等其他前端框架大比拼
2016/10/08 Javascript
简单实现IONIC购物车功能
2017/01/10 Javascript
Bootstrap3下拉菜单的实现
2017/02/22 Javascript
nodejs批量下载图片的实现方法
2017/05/19 NodeJs
label+input实现按钮开关切换效果的实例
2017/08/16 Javascript
vue项目中使用vue-layer弹框插件的方法
2020/03/11 Javascript
python中的函数用法入门教程
2014/09/02 Python
单利模式及python实现方式详解
2018/03/20 Python
python:按行读入,排序然后输出的方法
2019/07/20 Python
学会python自动收发邮件 代替你问候女友
2020/05/20 Python
python如何快速生成时间戳
2020/07/21 Python
浅析Python 中的 WSGI 接口和 WSGI 服务的运行
2020/12/09 Python
如何用Python和JS实现的Web SSH工具
2021/02/23 Python
致接力运动员广播稿
2014/02/17 职场文书
体操比赛口号
2014/06/10 职场文书
教师师德师风自我剖析材料
2014/09/29 职场文书
2015年业务员工作总结范文
2015/04/07 职场文书
党员干部廉政承诺书
2015/04/28 职场文书
天气温馨提示语
2015/07/14 职场文书
如何用JavaScript学习算法复杂度
2021/04/30 Javascript