我想从用户那里获取数字输入并将它们添加到二维列表中,然后将第三列添加到一起。
Sample Run:
Enter 3 numbers: 1 2 9
Enter 3 numbers: 3 4 9
Enter 3 numbers: 9 1 1
Enter 3 numbers:
1 2 9
3 4 9
9 1 1
column 3 total = 19
这是我到目前为止所拥有的
def main():
string = input("Enter 3 numbers: ")
lst = string.split()
lst = [int(a) for a in lst]
while string != '':
string = input("Enter 3 numbers: ")
lst2 = string.split()
lst.append([int(a) for a in lst2])
print(lst)
main()
如何在示例中显示我的数字,并且只添加第三列
答案 0 :(得分:3)
你继续覆盖lst
。但是有一个更大的问题。您需要一个外部列表来保存用户输入列表。
def main():
array = []
string = input("Enter 3 numbers: ")
lst = string.split()
lst = [int(a) for a in lst]
array.append(lst)
while string != '':
string = input("Enter 3 numbers: ")
lst = string.split()
array.append([int(a) for a in lst])
print(array)
main()
如果将提示合并到单个while循环中,您的代码会更清晰
def main():
lst = []
while True:
data = input("Enter 3 numbers: ")
if not data:
break
lst.append([int(a) for a in data.split()])
print lst
# to get more output....
for row in lst:
print('{} {} {}'.format(*row))
print('column 3 sum is {}'.format(sum(row[2] for row in lst)))
main()
第二个例子的示例运行
$ python3 x.py
Enter 3 numbers: 1 2 3
Enter 3 numbers: 4 5 6
Enter 3 numbers: 7 8 9
Enter 3 numbers:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]