.env
我对上面代码不太了解的是输出。我得到的输出是数字7.为什么7?
我知道如果 cleaningNumber + = number [i] 就是这样的话。但是当我将 + = 更改为 = 时,为什么会得到7。
答案 0 :(得分:1)
您得到它是因为您不再使用复合作业而非作业。每次到达cleanedNumber = number[i]
时,您都为分配新值。
看来你希望从字符串中获取数字。由于您最后将类型更改为int
,因此您也不关心小数位,否则您将调用float
。鉴于这些假设,为什么不这样做:
number = "9,223,372,036,854,775,807"
cleanedNumber = int(''.join(number.split(',')))
print("The number is {}".format(cleanedNumber))
否则,您需要的更改是:
number = "9,223,372,036,854,775,807"
cleanedNumber = ''
for char in number: # just iterate over the string
if char.isdigit():
cleanedNumber += char
cleanedNumber = int(cleanedNumber)
print("The number is {}".format(cleanedNumber))
答案 1 :(得分:0)
这是因为"7"
是您迭代的最后一位数字,即'0123456789'
。如果您需要进一步的指导,请查看this:
答案 2 :(得分:-1)
因为你做错了。每当你应该追加它时,你都会重置cleanedNumber
的值:
number = "9,223,372,036,854,775,807"
cleanedNumber = ''
for i in range(0, len(number)):
if number[i] in '0123456789':
cleanedNumber += number[i]
newNumber = int(cleanedNumber)
print("The number is {} ".format(newNumber))