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))
上面的代码我不明白的是输出。因为我得到的输出是数字7。为什么是7?你知道吗
我知道如果cleanedNumber+=number[I]是这样的话,我会得到。但是为什么当我把+=改成=时我会得到7呢。你知道吗
你得到它是因为你不再使用复合赋值,而是赋值。每次你到达
cleanedNumber = number[i]
你都给它赋值。你知道吗似乎您只想从字符串中获取数字。因为您要在结尾将类型更改为
int
,所以您也不关心小数位数,否则您将调用float
。鉴于这些假设,为什么不:否则,您将需要进行以下更改:
因为你做错了。每次通过循环时,您都要重置
cleanedNumber
的值,这时您应该附加到它:这是因为
"7"
是您迭代的最后一个数字,即'0123456789'
。如果您需要进一步的指导,请查看this:相关问题 更多 >
编程相关推荐