我希望我的程序允许用户输入两个整数列表,计算每个列表中第一个和最后一个整数的和,并打印出较大的和。目前它只是输出 list2
两次。
list1 = []
list2 = []
n1 = [int(n) for n in input("List 1: ").split()]
list1.append(n1)
n2 = [int(n) for n in input("List 2: ").split()]
list2.append(n2)
s1 = 0
s2 = 0
s1 = list1[0] + list1[len(list1) - 1]
s2 = list2[0] + list2[len(list2) - 1]
if s1 > s2:
print("Output: ", s1)
elif s1 < s2:
print("Output: ", s2)
else:
print("Output: Same")
这就是我得到的。我应该得到12作为输出。
List 1: 1 2 3 4 5
List 2: 5 6 7
Output: [5, 6, 7, 5, 6, 7]
我做错什么了?
3条答案
按热度按时间svmlkihl1#
append
向列表中添加一个元素,而不是合并两个列表,因此list1
以及list2
具有以下值:[[1,2,3,4,5]]
以及[[5,6,7]]
分别使用:或者,您可以替换
append
与extend
,它将所提供的列表连接在一起。oug3syen2#
你犯了个错误:
n1
已经是一个列表了,所以你的list1
变成[[1,2,3,4,5]]
-它有1个元素,是5个元素的列表。与…相同n2
以及list2
.我重写了你的代码,你也可以用
lst[-1]
而不是lst[len(lst)-1]
```list1 = [int(n) for n in input("List 1: ").split()]
list2 = [int(n) for n in input("List 2: ").split()]
s1 = list1[0] + list1[-1]
s2 = list2[0] + list2[-1]
if s1 > s2:
print("Output: ", s1)
elif s1 < s2:
print("Output: ", s2)
else:
print("Output: Same")
z0qdvdin3#