我使用这个循环来提取整数,我应该对这个接受十进制数的循环做出什么改变。 这里inputn是一个字符串:
def numberseeker():
global i, inputn, number, num
while i < len(inputn):
if inputn[i].isalnum() is True:
num = float(inputn[i])
if inputn[i] == 0:
number += num
else:
number = (number * 10) + num
i += 1
elif inputn[i].isalnum() is False:
ope = inputn[i]
operator(ope)
break
答案 0 :(得分:0)
由于inputn是一个字符串,这个陈述的含义是什么? ... 如果输入[i] == 0: ...
因为inputn [i]是char,而不是整数,所以 inputn [i] == 0 永远都是假的。即使这条线路没有意义,您的原始代码仍然可以正常工作。但将其更改为仅一行仍然更好: number =(number * 10)+ num