我是初学者。创建了一个包含一系列数字的TXT文件:TXT类型A: 1,3,4,2,22,11,…,32TXT风格B: 1 3 4 2 22…32两个TXT文件都可以打开。我没能算出这些值的总和。问题1:带有","的文本样式是否会影响添加功能?问题2:如何获得每个值并计算总和?
with open('numbers.txt', 'r') as f:
numbers_line = f.read()
print(numbers_line)
x = numbers_line.split()
#print(len(x))
def数量():
i = len(x)
# Learn different methods to retrieve element
#s = int(x.__getitem__(25))
s = int(x[25])
w = int(x[24])
# Able to retrieve element, but this is not the way to program
# needed advice and corrections
print(i, s, w, s + w)
数量()
f.close ()
带有','的文本样式是否影响添加功能?
在我们开始添加之前,它确实会影响分割,因为如果没有指定分隔符,str.split()
只在空白处分割。要分割逗号和空格,可以使用
import re
…
x = re.split("[,s]+", numbers_line)
如何获得每个值并计算总和?
您已经使用int
函数将字符串转换为整数(尽管在int(x[25])
中您错过了索引范围从0到24);您可以使用map
函数将int
应用于x
的每个字符串,并且您可以使用sum
函数计算总和:
print(sum(map(int, x)))