(1)从键盘任意输入多个整数,使用这些数据创建列表,输出其中的最大值及其相邻的元索(提示,这里采用切片操作获取数据)。
(2)从键盘输入一个数据,查找其在列表中的位置。如果该数据在列表中,输出其位置,然后将其从列表中州除;否则将其添加到列表中。同时显示相应信息。
(3)将列表中的数据按从小到大的顺序输出。
输出示例
原始列表
最大值及相邻元素
6是第2个数
己从列表中删除6
排序后的数据
该回答引用GPT:
# 从键盘任意输入多个整数,使用这些数据创建列表,输出其中的最大值及其相邻的元素
list1 = list(map(int, input().split()))
max_num = max(list1)
max_index = list1.index(max_num)
print('原始列表最大值及相邻元素:', list1[max_index-1], max_num, list1[max_index+1])
# 从键盘输入一个数据,查找其在列表中的位置
num = int(input('请输入一个数:'))
if num in list1:
index = list1.index(num)
print('{}在列表中的位置是第{}个数,已从列表中删除'.format(num, index+1))
list1.remove(num)
else:
list1.append(num)
print('{}不在列表中,已添加到列表中'.format(num))
# 将列表中的数据按从小到大的顺序输出
list1.sort()
print('排序后的数据:', list1)
如还有疑问,可留言帮助解决。
参考如下,注意要判断左右没有相邻的情况,防止列表越界:
list_num = [int(i) for i in input().split(" ")]
max_num = max(list_num)
if len(list_num) == 1:
print("输入列表中的最大值为:%d,无相邻数" % max_num)
else:
if list_num.index(max_num) == 0:
right_num = list_num[list_num.index(max_num) + 1]
print("输入列表中的最大值为:%d,无左边相邻,右边相邻的是:%d" % (max_num, right_num))
elif list_num.index(max_num) == len(list_num) - 1:
left_num = list_num[list_num.index(max_num) - 1]
print("输入列表中的最大值为:%d,左边相邻的是:%d,无右边相邻" % (max_num, left_num))
else:
left_num = list_num[list_num.index(max_num) - 1]
right_num = list_num[list_num.index(max_num) + 1]
print("输入列表中的最大值为:%d,左边相邻的是:%d,右边相邻的是:%d" % (max_num, left_num, right_num))
now_num = int(input())
if now_num in list_num:
print("其在列表中的位置为:%d" % list_num.index(now_num))
list_num.remove(now_num)
print("%d已从列表中删除" % now_num)
else:
list_num.append(now_num)
print("%d已添加列表中" % now_num)
print("重新排序后的列表为:", sorted(list_num))
效果如下: