福州网站建设方案服务,seo优化快速排名,福州网站建设服务商,收录优美图片手机版不用库#xff0c;写了很久#xff0c;一直出bug#xff0c;到网上一搜#xff0c;可以直接输入之后#xff0c;eval(str)即可得到结果#xff01;
eval程序如下#xff1a;
sinput(请输入要运算的数字)
print(The result is{}.format(eval(s))…不用库写了很久一直出bug到网上一搜可以直接输入之后eval(str)即可得到结果
eval程序如下
sinput(请输入要运算的数字)
print(The result is{}.format(eval(s)))
下面是不用eval实现加减的代码主要思想就是通过一个标志位flag来计算是否进行加减其他的都很好理解
sinput(请输入要运算的数字)
llen(s)
h0
i0
flag1
a0
for i in range(0,l):
if s[i] or s[i]-:
flag1
cs[i]
else:
flag0
aa*10round(int(s[i]))
if flag1 and s[i]:
ha
a0
elif flag1 and s[i]-:
h-a
a0
print(h)
现在贴上一直出错的代码也算是长点经验提醒自己下一次细心一点
sinput(请输入要运算的数字)
llen(s)
h0
i0
while il:
a0
cs[i]
i1
while s[i]! and s[i]!- and il :
aa*10round(int(s[i]))
i1
if c:
ha
else:
h-a
print(h)
#错误类型IndexError: string index out of range字符串越界
说明一下越界有两个原因
①能够访问的最大字符串是len(str)-1 (ps上图直接是len(str))
②python执行的方法是一句一句执行的所以il-1应该放在s[i] ! 的前面
下面贴上修改过后能运行并且可以输出正确结果的代码
sinput(请输入要运算的数字)
llen(s)-1
h0
i0
while il:
a0
cs[i]
i1
while il and s[i]! and s[i]!- :
aa*10round(int(s[i]))
i1
if c:
ha
else:
h-a
print(h)
以上这篇python实现输入数字的连续加减方法就是小编分享给大家的全部内容了希望能给大家一个参考也希望大家多多支持脚本之家。