题目1.(合并两个有序列表)编写下面的函数合并两个有序列表构成一个新的有序列表。
def merge(list1,list2):
比照len(list1)+len(list2)实现这个函数。编写测试程序提示用户输入两个有序列表,然后显示合并后的列表。
python代码实现
def merge(list1, list2):
merged_list = []
i = j = 0
while i < len(list1) and j < len(list2):
if list1[i] < list2[j]:
merged_list.append(list1[i])
i += 1
else:
merged_list.append(list2[j])
j += 1
merged_list.extend(list1[i:])
merged_list.extend(list2[j:])
return merged_list
list1 = input("enter list1:").split()
list1 = [int(num) for num in list1]
list2 = input("enter list2:").split()
list2 = [int(num) for num in list2]
merged = merge(list1, list2)
print("the merged list is:", merged)
测试结果显示
题目2:(模式识别:四个连续的相同的数)编写下面的函数测试列表是否具有同样值的四个连续数字。
def isConsecutiveFour(values):
编写测试程序提示用户输入一个整数序列,然后报告这个序列是否包含具有相同值的四个连续数字。
python代码实现
def isConsecutiveFour(values):
for i in range(len(values) - 3):
if values[i] == values[i + 1] == values[i + 2] == values[i + 3]:
return True
return False
def main():
input_str = input("inter list:")
values = list(map(int, input_str.split()))
if isConsecutiveFour(values):
print("输入的序列包含具有相同值的四个连续数字。")
else:
print("输入的序列不包含具有相同值的四个连续数字。")
if __name__ == "__main__":
main()
测试结果显示
题目3:(统计数字个数)编写程序读取1到100之间的一些整数,并统计每个数字的个数。
python代码实现
nums = input("Enter integers between 1 and 100:").split()
num_count = {}
for num in nums:
if int(num) in range(1, 101):
if num in num_count:
num_count[num] += 1
else:
num_count[num] = 1
for key, value in num_count.items():
print(key, "occurs", value, "times")
测试结果显示: