如何找到列表中第一个和最后一个数字的和

jw5wzhpr  于 2021-07-14  发布在  Java
关注(0)|答案(3)|浏览(435)

我希望我的程序允许用户输入两个整数列表,计算每个列表中第一个和最后一个整数的和,并打印出较大的和。目前它只是输出 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]

我做错什么了?

svmlkihl

svmlkihl1#

append 向列表中添加一个元素,而不是合并两个列表,因此 list1 以及 list2 具有以下值: [[1,2,3,4,5]] 以及 [[5,6,7]] 分别使用:

list1 = [int(n) for n in input("List 1: ").split()]
list2 = [int(n) for n in input("List 2: ").split()]

或者,您可以替换 appendextend ,它将所提供的列表连接在一起。

oug3syen

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")

z0qdvdin

z0qdvdin3#


# Take inputs from users

list1 = [int(n) for n in input("List 1: ").split()]
list2 = [int(n) for n in input("List 2: ").split()]

# SUM of first and last

sum1 = list1[0] + list1[-1]
sum2 = list2[0] + list2[-1]

# Checking

if sum1 > sum2:
    print("Output: ", sum1)
elif sum1 < sum2:
    print("Output: ", sum2)
else:
    print("Output: Same")

"""
OUTPUT:
-------------
List 1: 1 2 3
List 2: 4 5 6
Output:  10
"""

相关问题