这是我的编程类简介
的最后一篇编写执行以下操作的程序。
1创建一个函数inputNumbers,它使用循环允许用户在1到10之间的数字之间输入5个数字,并将它们存储在名为numArray的数组中。从def main()调用该函数。(20分)
2创建一个接受numArray的函数addNums,并使用循环在数组中添加数字。从def main()调用该函数。将总数返回到def main()并将总数分配给变量total。显示总数(20分)。
3创建一个函数writeArray,它将数组的内容写入一个名为Exam2.dat的文件,每行一个数字。如果当前存在名为Exam2.dat的文件,则应创建新文件。从def main()调用该函数(20分)
4创建一个函数readArray,它读取文件的内容并添加它们。将总数返回到def main()。从def main()(25分)
调用该函数5显示def main()中的总数。 (5分)
def main():
numArray = inputNumbers()
total = addNums(numArray)
print(total)
writeArray(numArray)
readArray()
def inputNumbers():
numArray = []
numbers = [int(input('Enter a value between 1 and 10: ')) for i in range(5)]
numArray.append(int(numbers))
return numArray
def addNums(numArray):
total = sum(numArray)
return total
def writeArray(numArray):
writeFile = open('Exam2.dat', 'w')
for num in numArray:
writeFile.write("%s\n" % numbers)
def readArray():
result = 0
for s in open('Exam2.dat'): result += int(s.strip())
main()
我收到错误
TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'
我的问题是:如何写入数组然后添加它?我希望用户输入5个数字(例如1,2,3,4,5),它会显示总数。希望该计划的其余部分是正确的
答案 0 :(得分:0)
从第11行移除int()
。numbers
已经是int
的列表(第10行)。将第11行更改为:
numArray += numbers
实际上,您可以返回第10行。更改功能如下:
def inputNumbers():
return [int(input('Enter a value between 1 and 10: ')) for i in range(5)]