python第二次作业

题目如下

 

Demo85

由题意可知可写出核心代码

def main():
    # 提示用户输入列表
    user_input = input("请输入一个列表,用空格分隔每个元素:")
    try:
        # 将输入的字符串分割并转换成整数列表
        numbers = [int(element) for element in user_input.split()]
    except ValueError:
        print("输入错误,请确保所有元素都是有效的整数。")
        return

因为在这个程序中,我们定义了一个名为 isSorted 的函数,它接收一个列表作为参数,并返回一个布尔值,指示该列表是否已排序。然后我们定义了一个名为 main 的函数,它提示用户输入一个列表,并调用 isSorted 函数来检查这个列表。最后,我们在程序的末尾检查 __name__ 变量,如果它的值是 "__main__",则调用 main 函数。这是一个常见的做法,用于确定一个Python文件是被直接运行还是被作为模块导入。

调用函数是否排序的代码是:

 # 调用函数检查列表是否排好序
    if isSorted(numbers):
        print("这个列表是排好序的。")
    else:
        print("这个列表不是排好序的。")

所以该程序完整代码为:

def isSorted(lst):
    """
    检查列表是否已排序
    :param lst: 待检查的列表
    :return: True如果列表已排序,否则返回False
    """
    return all(lst[i] <= lst[i + 1] for i in range(len(lst) - 1))

# 主程序
def main():
    # 提示用户输入列表
    user_input = input("请输入一个列表,用空格分隔每个元素:")
    try:
        # 将输入的字符串分割并转换成整数列表
        numbers = [int(element) for element in user_input.split()]
    except ValueError:
        print("输入错误,请确保所有元素都是有效的整数。")
        return

    # 调用函数检查列表是否排好序
    if isSorted(numbers):
        print("这个列表是排好序的。")
    else:
        print("这个列表不是排好序的。")

# 调用主程序
if __name__ == "__main__":
    main()

运行结果:

 

Demo87

由题意可知此题有数据结构中遍历

全部代码为:

def merge(list1, list2):
    merged_list = []
    i, j = 0, 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

    # 如果list1还有剩余元素,直接添加到merged_list中
    while i < len(list1):
        merged_list.append(list1[i])
        i += 1

    # 如果list2还有剩余元素,直接添加到merged_list中
    while j < len(list2):
        merged_list.append(list2[j])
        j += 1

    return merged_list

# 测试程序
def test_merge():
    # 提示用户输入两个有序列表
    str_list1 = input("请输入第一个有序列表,用空格分隔每个元素:")
    str_list2 = input("请输入第二个有序列表,用空格分隔每个元素:")
    
    # 将输入的字符串分割并转换成整数列表
    list1 = [int(element) for element in str_list1.split()]
    list2 = [int(element) for element in str_list2.split()]
    
    # 调用merge函数并打印结果
    merged_list = merge(list1, list2)
    print("合并后的有序列表是:", merged_list)

# 运行测试程序
test_merge()

运行结果如下

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值