当前位置:首页>python>小白学python第58天之完成作业

小白学python第58天之完成作业

  • 2026-08-25 08:17:14
小白学python第58天之完成作业

2.3

完成作业

?

完成作业

我们今天不学习新的知识点,只处理前面3天学习函数留下的作业,大家若是对作业解答有不同见解,都可以留言交流。

第55天

作业:

(1)有一段代码,定义了几种不同数据类型的变量,并对它们进行了修改;

(2)请先预测代码的输出结果,写在# 预测输出:的注释后面;

(3)然后,在编程环境中实际运行这段代码,将实际运行结果写在# 实际输出:的注释后面;

(4)最后,根据实际运行结果,简单解释为什么会出现这样的情况。

# 1. 不可变类型示例:整数 (int)print("=== 第一部分:整数 ===")a = 10print("修改前 a 的id:", id(a))a = a + 5print("修改后 a 的id:", id(a))print("a 的值:", a)# 2. 可变类型示例:列表 (list)print("\n=== 第二部分:列表 ===")my_list = [1, 2, 3]print("修改前 my_list 的id:", id(my_list))my_list.append(4)print("修改后 my_list 的id:", id(my_list))print("my_list 的值:", my_list)# 3. 综合对比:字符串(不可变)和字典(可变)print("\n=== 第三部分:综合对比 ===")name = "Python"my_dict = {"level": "easy"}print("原始字符串 id:", id(name))print("原始字典 id:", id(my_dict))# 尝试“修改”name = name + "3"  # 字符串拼接my_dict["version"] = 3.9  # 字典添加键值对print("操作后字符串 id:", id(name))print("操作后字典 id:", id(my_dict))

第56天

作业:

计算第n个人的年龄,问题描述:

一个小组有n个人(n为正整数),已知第1个人 8岁,后面每个人的年龄都比前一个人大 1岁。请编写一个递归函数 calc_age(n),运用递推算法计算并返回第 n个人的年龄。

def calc_age(n):    """    计算第n个人的年龄。    参数: n, 正整数,代表第几个人。    返回值: 第n个人的年龄。    """    # 1. 基准情况:当n为1时,直接返回已知年龄8岁。    if n == 1:        return8    # 2. 递推关系:第n个人的年龄等于第(n-1)个人的年龄加1岁。    else:        return calc_age(n - 1) + 1# 测试函数if __name__ == '__main__':    # 计算第5个人的年龄    n = 5    result = calc_age(n)    print(f"第{n}个人的年龄是:{result}岁。")  # 输出:第5个人的年龄是:12岁。

第57天

作业:

请编写一个名为 factorial(n)的递归函数,计算并返回非负整数 n的阶乘。

阶乘的定义如下:

(1)如果 n为 0 或 1,则 n! = 1。(这是递归的基准情况)

(2)如果 n大于 1,则 n! = n * (n-1)!。(这是递归的递推关系)

要求:

①函数必须使用递归实现;

②处理输入为 0 的情况。

def factorial(n):    if n == 0or n == 1:        return1    else:        return n * factorial(n - 1)# 调用函数print(f"0! = {factorial(0)}")print(f"1! = {factorial(1)}")print(f"5! = {factorial(5)}")

今日学习完毕,课后作业: 

有空的小伙伴,可以参考代码运行,还是建议不看着代码自己手打,学习效率更好。明天继续学习新的python知识点。

最新文章

随机文章