热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python编程基础练习题(进阶篇)

本文提供了一系列Python编程基础练习题,涵盖了列表操作、循环结构、字符串处理和元组特性等内容。通过这些练习题,读者可以巩固对Python语言的理解并提升编程技能。

1. 给定两个列表 l1 = [11, 22, 33]l2 = [22, 33, 44],请完成以下任务:

  • a. 找出两个列表中相同的元素。
  • b. 找出仅存在于l1中的元素。
  • c. 找出仅存在于l2中的元素。
  • d. 找出两个列表中不同的元素。
l1 = [11, 22, 33]
l2 = [22, 33, 44]
common_elements = list(set(l1) & set(l2))
only_in_l1 = list(set(l1) - set(l2))
only_in_l2 = list(set(l2) - set(l1))
different_elements = list(set(l1) ^ set(l2))
print("相同元素: ", common_elements)
print("仅在l1中: ", only_in_l1)
print("仅在l2中: ", only_in_l2)
print("不同元素: ", different_elements)


2. 使用数字1到8组成互不相同且无重复的两位数,计算共有多少种组合方式。

count = 0
for i in range(1, 9):
for j in range(1, 9):
if i != j:
count += 1
print(f"总共有 {count} 种组合。")


3. 输出九九乘法表。

for i in range(1, 10):
for j in range(1, i + 1):
print(f"{j} * {i} = {i * j} ", end='')
print()


4. 补充print()方法的使用示例。

print('raito', end=' 结尾')
print('raito')
print('raito', 'tsuki', 'rei', sep=' 中间')


5. 给定列表li = [1, 2, 3, 4], 计算所有可能的两两组合。

li = [1, 2, 3, 4]
combinatiOns= [(li[i], li[j]) for i in range(len(li)) for j in range(i + 1, len(li))]
print(combinations)


6. 解决百钱买百鸡问题:用100文钱买100只鸡,其中公鸡5文一只,母鸡3文一只,小鸡3只一文。求解购买方案。

solutiOns= []
for x in range(0, 21): # 公鸡最多20只
for y in range(0, 34): # 母鸡最多33只
z = 100 - x - y
if z % 3 == 0 and 5 * x + 3 * y + z // 3 == 100:
solutions.append((x, y, z))
print(solutions)


7. 将列表中的元素用下划线连接成字符串。

li = ['alex', 'eric', 123]
li[2] = str(li[2]) # 将数字转换为字符串
result = '_'.join(li)
print(result)


8. 对给定元组tu = ('alex', 'eric', 'rain')进行多种操作。

tu = ('alex', 'eric', 'rain')
print(f"元组长度: {len(tu)}")
print(f"第2个元素: {tu[1]}")
print(f"前2个元素: {tu[:2]}")
for item in tu:
print(item)
for index in range(len(tu)):
print(index)
for index, item in enumerate(tu, start=10):
print(f"序号 {index}: {item}")


9. 分析元组tu = ('alex', [11, 22, {'k1': 'v1', 'k2': ['age', 'name'], 'k3': (11, 22, 33)}, 44])的特性和可变性。

tu = ('alex', [11, 22, {'k1': 'v1', 'k2': ['age', 'name'], 'k3': (11, 22, 33)}, 44])
print(f"元组特性: 元组是不可变的,但内部的可变对象如列表和字典可以被修改。")
print(f"第一个元素是否可修改: 不可修改")
tu[1][2]['k2'].append('seven')
print(f"添加元素后的元组: {tu}")
print(f"'k3'对应的值类型: 元组,不可修改")


10. 在列表nums = [2, 7, 11, 15, 1, 8, 7]中找到任意两个元素相加等于9的索引对。

nums = [2, 7, 11, 15, 1, 8, 7]
pairs = [(i, j) for i in range(len(nums)) for j in range(i + 1, len(nums)) if nums[i] + nums[j] == 9]
print(pairs)


11. 对列表li = ['alex', 'eric', 'rain']进行多种操作。

li = ['alex', 'eric', 'rain']
print(f"列表长度: {len(li)}")
li.append('seven')
print(f"追加元素后: {li}")
li.insert(0, 'Tony')
print(f"插入元素后: {li}")
li[1] = 'Kelly'
print(f"修改元素后: {li}")
li.remove('eric')
print(f"删除元素后: {li}")
del li[1]
print(f"删除索引1的元素后: {li}")
del li[1]
print(f"删除索引1的元素后: {li}")
del li[1:3]
print(f"删除多个元素后: {li}")
li.reverse()
print(f"反转后的列表: {li}")
for i in range(len(li)):
print(i)
for k, v in enumerate(li, start=100):
print(f"序号 {k}: {v}")
for item in li:
print(item)


12. 实现分页显示内容的功能。

user_list = [{'name': f'alex-{i}', 'email': f'alex{i}@live.com', 'pwd': f'pwd{i}'} for i in range(1, 302)]
while True:
try:
page = int(input("请输入要查看的页码(1-30):"))
if page <1 or page > 30:
raise ValueError
start = (page - 1) * 10
end = start + 10
result = user_list[start:end]
for item in result:
print(item)
except ValueError:
print("输入内容格式错误,请输入有效的页码。")

推荐阅读
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 本文介绍了如何使用 Python 的 Bokeh 库在图表上绘制菱形标记。Bokeh 是一个强大的交互式数据可视化工具,支持丰富的图形自定义选项。 ... [详细]
  • 反向投影技术主要用于在大型输入图像中定位特定的小型模板图像。通过直方图对比,它能够识别出最匹配的区域或点,从而确定模板图像在输入图像中的位置。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 本题通过将每个矩形视为一个节点,根据其相对位置构建拓扑图,并利用深度优先搜索(DFS)或状态压缩动态规划(DP)求解最小涂色次数。本文详细解析了该问题的建模思路与算法实现。 ... [详细]
  • 本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ... [详细]
  • 本次考试于2016年10月25日上午7:50至11:15举行,主要涉及数学专题,特别是斐波那契数列的性质及其在编程中的应用。本文将详细解析考试中的题目,并提供解题思路和代码实现。 ... [详细]
  • 在Python开发过程中,随着项目数量的增加,不同项目依赖于不同版本的库,容易引发依赖冲突。为了避免这些问题,并保持开发环境的整洁,可以使用Virtualenv和Virtualenvwrapper来创建和管理多个隔离的Python虚拟环境。 ... [详细]
  • 数组元素逆序排列的实现
    本文介绍了一种简单有效的方法,用于将整数数组中的元素进行逆序排列。通过折半交换对应位置的元素,可以高效地完成这一任务。 ... [详细]
  • 信用评分卡的Python实现与评估
    本文介绍如何使用Python构建和评估信用评分卡模型,涵盖数据预处理、模型训练及验证指标选择。附带详细代码示例和视频教程链接。 ... [详细]
  • 本文介绍如何使用 Python 的 xlrd 库读取 Excel 文件,并将其数据处理后存储到数据库中。通过实际案例,详细讲解了文件路径、合并单元格处理等常见问题。 ... [详细]
  • 开发笔记:2020 BJDCTF Re encode
    开发笔记:2020 BJDCTF Re encode ... [详细]
  • #点球小游戏fromrandomimportchoiceimporttimescore[0,0]direction[left,center,right]defkick() ... [详细]
  • 本文介绍如何利用 Python 中的 NumPy 和 Matplotlib 库,从 NumPy 数组中绘制线图。通过具体的代码示例和详细解释,帮助读者理解并掌握这一技能。 ... [详细]
author-avatar
mobiledu2502896655
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有