如何在用户给出的 Python 中添加一组无限的整数?



我正在处理的问题应该:

  • 读取一组整数(来自用户(并将它们存储在列表中

  • 计算所述列表中所有数字的总和并将其输出给用户

  • 使用列表和函数

  • 给出错误消息,如果用户输入除数字以外的任何内容,则退出

  • 用户输入 0 退出

示例输出:

Please enter a number: 1
Please enter a number: 5
Please enter a number: 6
Please enter a number: 7
Please enter a number: 8
Please enter a number: 0
1 + 5 + 6 + 7 + 8 = 27

我当前的代码尚未完成:

def createList():
myList = []
return myList
def fillList(myList):    
number = int(input("Please enter a number: "))
while number != 0:
myList.append(number)
number = int(input("Please enter a number: "))
def printList(myList):
for number in myList:
print(number, "+")
def main():
myList = createList()
fillList(myList)
printList(myList)
main()

此外,我不明白如何让用户输入的数字在每个数字之间显示一个"+",在末尾显示一个等号。

更新的代码...如果用户键入整数以外的任何内容,我仍然需要找到一种方法来包含错误消息。此外,用户按 0 退出:

def createList():
myList = []
return myList
def fillList(myList):    
number = int(input("Please enter a number: "))
while number != 0:
myList.append(number)
number = int(input("Please enter a number: "))
def printList(myList):
print(' + '.join(map(str, myList)), end = ' = ')
print(sum(myList))
def main():
myList = createList()
fillList(myList)
printList(myList)
main()

不要像以前那样循环打印,只需join输入(并确保先转换为str(。

In [11]: myList = [1, 2, 3]
In [12]: print(' + '.join(map(str, myList)))
1 + 2 + 3

更容易做到。

temp = input()
my_list = []
while(True):
if temp.isdigit():
temp = int(temp)
if temp == 0:
break
my_list.append(temp)
temp = input()
else:
raise Exception('Invalid Input')
print(' + '.join(map(str,my_list)),end = ' = ')
print(sum(my_list))

最新更新