不用库,写了很久,一直出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实现输入数字的连续加减相关推荐

  1. python使用datetime获取两个时间的时间差,与时间的加减运算

    设置指定日期为datatime格式:datetime(2020, 1, 1),表示2020年1月1日 设置指定的时间差:datetime.timedelta(days=2),表示两天的时间差 时间差是 ...

  2. python同时输入多个字符串_Python之输入两个字符串,输出字符串并集

    题目: 输入两个字符串,输出两个字符串集合的并集. 例如:接受的两个字符串为"abc"和"bcd",返回['a', 'b', 'c' , 'd'] 思考: 1. ...

  3. python中math.ceil是什么意思_python中的数字取整(ceil,floor,round)概念和用法

    python中的数学运算函数(ceil,floor,round)的主要任务是截掉小数以后的位数.总体来说 就是取整用的.只是三者之间有微妙的区别: floor() :把数字变小 ceil() : 把数 ...

  4. python中如何比较两个列表_python中如何比较两个列表

    cmp() 方法用于比较两个列表的元素. cmp()方法语法:cmp(list1, list2) 参数: list1 -- 比较的列表.list2 -- 比较的列表. 返回值: 如果比较的元素是同类型 ...

  5. python3 输入数字_python怎么输入数字

    在编程中,经常使用数字来记录游戏得分.表示可视化数据.存储Web应用信息等.Python根据数字的用法以不同的方式处理它们.鉴于整数使用起来最简单,下面就先来看看 Python是如何管理它们的. 今天 ...

  6. python如何用色度表示数值大小_python入门004数字(例程界面很清晰大小也合适)

    (例程界面很清晰大小也合适) https://m.toutiao.com/is/JEFkLTv/ python入门004:数字 一.整数和浮点数 1.整数 在python中,可以对整数执行加(+)减( ...

  7. python用链表求两数之和_python 算法 - 008 计算两个链表所代表的整数之和 (整数相加法)...

    python 算法 - 008 计算两个链表所代表的整数之和 (整数相加法) 知之者不如好之者, 好之者不如乐之者.--<雍也> 知道德者不如好道德者, 好道德者不如乐道德者, 是为形容人 ...

  8. python 判断类型是数字_python能否判断数字类型

    python能否判断数字类型 发布时间:2020-08-25 15:01:44 来源:亿速云 阅读:55 python能否判断数字类型?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和 ...

  9. python时间计算_python datetime库使用和时间加减计算

    datetime库使用 一.操作当前时间 1.获取当前时间 >>> importdatetime>>> printdatetime.datetime.now()20 ...

最新文章

  1. 【codeforces】【比赛题解】#940 CF Round #466 (Div. 2)
  2. 解决Virtualbox无法安装Windows 8.1
  3. docker报错:OCI runtime create failed...process_linux.go:449: container init caused “write /proc/self/
  4. SQL-33 创建一个actor表,包含如下列信息
  5. 消息队列入门(三)JMS标准及实现
  6. 【kafka】kafka 执行 多个脚本 kafka-run-class.sh 导致 server 节点 时不时挂掉
  7. 移动端实现摇一摇并振动
  8. 黑苹果开启硬件加速(Clover)
  9. ACM 比赛如何正确开局、队员如何分工、如何把状态调整到最佳?
  10. eureka访问出现红色字体:THE SELF PRESERVATION MODE IS TURNED OFF
  11. 如何装配一台计算机和安装操作系统,组装机怎么安装系统?手把手教你组装机安装系统教程...
  12. nn.BCELoss和nn.CrossEntropyloss
  13. 图像的腐蚀(erosion)和膨胀(dilation)
  14. web漏洞-远端WWW服务支持TRACE请求
  15. VSCode调试代码的三种方式
  16. 我也曾经因安装库而抓狂,直到我遇到了Anaconda
  17. CSP 2021 复赛游记
  18. Hex Editor实现Notepad++16进制编辑功能
  19. 命令行导入导出Informatica工作流
  20. 最近成了叨客 - 注册了饭否,叽歪网

热门文章

  1. Cloud in Action: Install OpenStack Ocata from scratch
  2. Redis发布与订阅——PUBLISH SUBSCRIBE
  3. Remoting-1
  4. Win7 64bit系统下未能加载文件或程序集“System.Data.SQLite”的另一解决办法
  5. NDK-r14b + FFmpeg-release-3.4 linux下编译FFmpeg
  6. nn.functional 和 nn.Module入门讲解
  7. leetcode 1310. 子数组异或查询(位运算)
  8. robot:linux下安装robot环境
  9. I/O模型系列之四:两种高性能IO设计模式 Reactor 和 Proactor
  10. *** Python版一键安装脚本