南邮Python编程:每周练习与解题代码

需积分: 7 1 下载量 145 浏览量 更新于2024-08-04 1 收藏 108KB PDF 举报
"这是南京邮电大学Python双语教学课程的每周练习作业,旨在帮助学生通过编程练习提升Python技能。作业包含四个题目,分别涉及到解决实际问题的算法设计、排列组合、字符串操作以及列表的反向遍历。" 在第一题中,题目要求找到鸡(每只有2条腿)和兔子(每只有4条腿)的数量,使得它们的总腿数等于94。这是一道经典的数学问题,可以通过循环和条件判断来解决。首先,用变量`a`表示鸡的数量,其范围在1到34之间,因为总共有35只动物。通过计算鸡和兔子的腿数总和,当总和等于94时,输出鸡和兔子的数量。另一种方法是将问题转换为寻找鸡腿(每2个构成一个头)和剩余腿数(每4个构成一个头)的组合,当总头数等于35时,输出结果。 第二题涉及排列组合,使用`itertools.permutations`函数可以轻松地生成给定列表`a`中所有可能的3个元素的排列。另外,也可以通过三层嵌套循环手动实现这个功能,但这种方法效率较低,因为会检查许多重复的组合。 第三题是一个简单的字符串处理问题。用户输入一个字符串,程序每隔一个字符将其添加到一个新的列表`mess`中。这里运用了切片操作`[::2]`来获取字符串的奇数位置字符。在向列表`mess`添加元素时,需要注意`append()`函数不会返回修改后的列表,而是直接在原地修改,所以不需要赋值回给`mess`。 第四题同样是字符串操作,要求将用户输入的字符串反向输出。一种方法是通过列表的反向迭代,即`list(message)[::-1]`,将每个字符添加到`re_mess`列表中,然后使用`join()`函数连接成字符串。另一种方法是直接创建一个空字符串,然后从后往前遍历输入的字符串,逐个字符添加到新字符串中。 这些题目覆盖了Python的基础知识,包括循环、条件判断、组合与排列、字符串操作和列表操作,是学习Python编程的好练习。通过解决这些问题,学生能够加深对Python语法的理解,提高逻辑思维能力,并且熟悉常用的数据结构和算法。