如何交替询问用户输入填充两个各含3整数的列表,实现排序与合并?
解决方案
嘿,这事儿好办!要实现交替询问两个列表的输入,咱们只需要把输入逻辑改成循环3次,每次循环里先收listone的值,再收listtwo的值就行,刚好凑够每个列表3个元素。
下面是修改后的完整代码:
def user_input(): listone = [] listtwo = [] # 循环3次,每次交替获取两个列表的输入 for _ in range(3): # 先获取listone的输入并添加到列表 val_one = int(input("Please enter a value for listone: ")) listone.append(val_one) # 接着获取listtwo的输入并添加到列表 val_two = int(input("Please enter a value for listtwo: ")) listtwo.append(val_two) # 对两个列表分别排序 sorted_listone = sorted(listone) sorted_listtwo = sorted(listtwo) # 打印排序后的结果 print("Sorted listone:", sorted_listone) print("Sorted listtwo:", sorted_listtwo) # 合并两个排序后的列表 merged_list = sorted_listone + sorted_listtwo # 如果需要合并后整体也有序,可以改成下面这行 # merged_list = sorted(sorted_listone + sorted_listtwo) print("Merged list:", merged_list) # 调用函数启动程序 user_input()
逻辑说明:
- 用
for _ in range(3)循环3次,刚好满足每个列表需要3个整数的需求; - 每次循环内先处理listone的输入,再处理listtwo的,完美匹配你要的交替交互流程;
- 用
sorted()函数对两个列表分别排序,打印后再合并(如果需要合并后的列表整体有序,就把合并那行换成注释里的代码)。
内容的提问来源于stack exchange,提问作者DwightD
相关产品推荐
相关产品推荐

