gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章python实现输入数字的连续加减方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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

eval程序如下:

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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)

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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)
?
1
#错误类型:IndexError: string index out of range(字符串越界)

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

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

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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实现输入数字的连续加减方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我.

原文链接:https://blog.csdn.net/Pain_Love/article/details/74572089 。

最后此篇关于python实现输入数字的连续加减方法的文章就讲到这里了,如果你想了解更多关于python实现输入数字的连续加减方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com