我有我正在使用的文件,每行有一個整數,沒有逗號分隔數字。當我去獲取該文件中的數字總和時,它只適用於正整數。我有什麼不適用於文件中的負數。任何方式能夠實現這一目標?我的代碼有問題:文件中的值總和,負值?
if line.strip().isdigit():
total += int(line)
如果文件中的所有數字都是負面的,它只會返回總和爲0有什麼其他實現同樣的目標(在文件中的所有數字的總和)的方法,我可以使用它可以增加正整數和負整數?
我有我正在使用的文件,每行有一個整數,沒有逗號分隔數字。當我去獲取該文件中的數字總和時,它只適用於正整數。我有什麼不適用於文件中的負數。任何方式能夠實現這一目標?我的代碼有問題:文件中的值總和,負值?
if line.strip().isdigit():
total += int(line)
如果文件中的所有數字都是負面的,它只會返回總和爲0有什麼其他實現同樣的目標(在文件中的所有數字的總和)的方法,我可以使用它可以增加正整數和負整數?
問題是這些方法要求所有字符都是數字,而-
不是;看到https://docs.python.org/2/library/stdtypes.html
>>> "234".isalnum()
True
>>> "-234".isalnum()
False
>>> "-234".isalpha()
False
>>> "-234".isdigit()
False
如果文件包含int和非整數,那麼也許看到is_number(s)
:How do I check if a string is a number (float) in Python?但修改它INT。喜歡的東西:
def is_number(s):
try:
int(s)
return True
except ValueError:
return False
然後用is_number
,你必須is_digit
。
的可能的複製[如何輸入與.isdigit負數?(http://stackoverflow.com/questions/28279732/how-to-type-negative-number -with-isdigit) –
除整數外,還有其他文件嗎?如果不是,則不需要isdigit()檢查。如果是的話,還有什麼可以找到它? –
@MarkusM。在我想要得到的總和中,除了整數之外,沒有其他的東西。 – Nick