Python编程入门:10道经典练习题附详细解答

值得苦练的100道Python经典练手题,(附详细答案) 嗨喽大家好卷子又来了,100道Python经典练手题奉上 花了一周的时间,整理了100道Python的练习题,如果你是一位初学者,那么这一份练习题将会给你带来极大的帮助,如果你能够完全独立的完成这份练习题,你已经入门的Python了,练习题涵盖Python基础的大部分内容: Python100经典练习题,附答案很多小伙伴在学习Python的时候,有时候会迷茫,不知道怎么可以检测出自己的水平是否很高,这次给大家带了这1https://mp.weixin.qq.com/s/wJKG2AsaCQxQhpK-r 阅读详情
AI摘要

本文为Python初学者提供10道经典练习题,涵盖基础语法、数据结构、函数使用等核心知识点。每道题都有详细解答和代码实现,包括计算圆面积周长、判断闰年、字符串反转等。通过这些题可巩固Python基础,文末还提供学习资料。

包含编程籽料、学习路线图、爬虫代码、安装包等!【点击领取!】

前言
Python作为当今最受欢迎的编程语言之一,以其简洁的语法和强大的功能吸引了无数开发者。对于初学者来说,通过解决实际问题来学习Python是最有效的方法之一。本文将提供10道Python经典练习题,涵盖基础语法、数据结构、函数使用等核心知识点,每道题都附有详细解答和代码实现。

加粗样式练习题1:计算圆的面积和周长
题目:编写一个Python程序,接收用户输入的半径,计算并输出圆的面积和周长。

import math

def circle_calculations():
    radius = float(input("请输入圆的半径: "))
    area = math.pi * radius ** 2
    circumference = 2 * math.pi * radius
    print(f"圆的面积为: {area:.2f}")
    print(f"圆的周长为: {circumference:.2f}")

# 调用函数
circle_calculations()

解答要点:

使用math.pi获取π值

**运算符用于计算平方

:.2f格式化输出保留两位小数

练习题2:判断闰年
题目:编写一个函数判断输入的年份是否是闰年。

def is_leap_year(year):
    if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
        return True
    else:
        return False

# 测试用例
print(is_leap_year(2000))  # True
print(is_leap_year(1900))  # False
print(is_leap_year(2024))  # True

解答要点:

闰年规则:能被4整除但不能被100整除,或者能被400整除

使用布尔值直接返回判断结果

练习题3:字符串反转
题目:编写一个函数,实现字符串反转(不使用内置的[::-1]方法)。

def reverse_string(s):
    reversed_str = ""
    for char in s:
        reversed_str = char + reversed_str
    return reversed_str

# 测试
print(reverse_string("Python"))  # nohtyP
print(reverse_string("Hello World"))  # dlroW olleH

解答要点:

通过循环逐个字符构建反转字符串

字符串拼接顺序决定了反转效果

练习题4:统计字符出现次数
题目:编写一个函数,统计字符串中每个字符出现的次数。

def count_characters(s):
    char_count = {}
    for char in s:
        char_count[char] = char_count.get(char, 0) + 1
    return char_count

# 测试
print(count_characters("programming"))
# 输出: {'p': 1, 'r': 2, 'o': 1, 'g': 2, 'a': 1, 'm': 2, 'i': 1, 'n': 1}

解答要点:

使用字典存储字符和对应计数

dict.get(key, default)方法避免KeyError

练习题5:斐波那契数列
题目:编写一个函数生成斐波那契数列的前n项。

def fibonacci(n):
    fib_sequence = [0, 1]
    while len(fib_sequence) < n:
        fib_sequence.append(fib_sequence[-1] + fib_sequence[-2])
    return fib_sequence[:n]

# 测试
print(fibonacci(10))
# 输出: [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

解答要点:

初始化前两项

循环计算后续项直到达到所需长度

处理n=0或1的特殊情况

练习题6:列表去重
题目:编写一个函数,去除列表中的重复元素,保持原有顺序。

def remove_duplicates(lst):
    seen = set()
    result = []
    for item in lst:
        if item not in seen:
            seen.add(item)
            result.append(item)
    return result

# 测试
print(remove_duplicates([1, 2, 2, 3, 4, 4, 5]))
# 输出: [1, 2, 3, 4, 5]

解答要点:

使用集合set快速判断元素是否存在

保持原始顺序需要额外列表存储结果

练习题7:素数判断
题目:编写一个函数判断一个数是否为素数。

def is_prime(num):
    if num <= 1:
        return False
    for i in range(2, int(num**0.5) + 1):
        if num % i == 0:
            return False
    return True

# 测试
print(is_prime(17))  # True
print(is_prime(25))  # False

解答要点:

素数定义:大于1且只能被1和自身整除的数

优化:只需检查到平方根即可

练习题8:字典排序
题目:编写一个函数,按值对字典进行降序排序。

def sort_dict_by_value(d):
    return dict(sorted(d.items(), key=lambda item: item[1], reverse=True))

# 测试
grades = {'Alice': 85, 'Bob': 92, 'Charlie': 78, 'David': 95}
print(sort_dict_by_value(grades))
# 输出: {'David': 95, 'Bob': 92, 'Alice': 85, 'Charlie': 78}

解答要点:

dict.items()获取键值对

sorted()函数配合lambda表达式排序

reverse=True实现降序

练习题9:计算器
题目:编写一个简单的四则运算计算器。

def calculator():
    num1 = float(input("输入第一个数字: "))
    operator = input("输入运算符(+, -, *, /): ")
    num2 = float(input("输入第二个数字: "))
    
    if operator == '+':
        result = num1 + num2
    elif operator == '-':
        result = num1 - num2
    elif operator == '*':
        result = num1 * num2
    elif operator == '/':
        if num2 == 0:
            return "错误: 除数不能为零"
        result = num1 / num2
    else:
        return "错误: 无效运算符"
    
    return f"结果: {result}"

# 调用
print(calculator())

解答要点:

基本的输入输出处理

运算符判断和错误处理

除零检查

练习题10:文件单词统计
题目:编写一个程序统计文本文件中各单词的出现频率。

import re
from collections import defaultdict

def word_count(filename):
    word_counts = defaultdict(int)
    with open(filename, 'r', encoding='utf-8') as file:
        for line in file:
            words = re.findall(r'\b\w+\b', line.lower())
            for word in words:
                word_counts[word] += 1
    return dict(word_counts)

# 测试前需要准备一个文本文件
print(word_count('sample.txt'))

解答要点:

使用正则表达式提取单词

defaultdict简化计数逻辑

文件操作和编码处理

总结
这10道Python练习题涵盖了:

基础数学运算

条件判断

字符串操作

数据结构处理

算法实现

文件操作

实际应用场景

每道题都展示了Python的不同特性和编程技巧。建议读者:

先尝试自己解决这些问题

比较自己的解决方案与提供的答案

修改参数进行更多测试

尝试扩展题目功能

编程能力的提升离不开持续的练习和实践,希望这些练习题能帮助你巩固Python基础,为进一步学习打下坚实基础。

最后:
希望你编程学习上不急不躁,按照计划有条不紊推进,把任何一件事做到极致,都是不容易的,加油,努力!相信自己!

文末福利
最后这里免费分享给大家一份Python全套学习资料,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。

包含编程资料、学习路线图、源代码、软件安装包等!【点击这里】领取!
① Python所有方向的学习路线图,清楚各个方向要学什么东西
② 100多节Python课程视频,涵盖必备基础、爬虫和数据分析
③ 100多个Python实战案例,学习不再是只会理论
④ 华为出品独家Python漫画教程,手机也能学习

在这里插入图片描述

25道Python练手题(附详细答案),赶紧收藏!python入门 迭代之后发现第二个分隔符,是不是还有一个分隔符的索引,这个时候我们继续向字符串进行切片,切片的开始位置是你的 i 这个位置的指针,结束的位置是第二个 - 的指针,那遵循左闭右开,所以我们 is 这个单词,也可以添加进列表。就这样一直到最后呢,当我们去迭代到最后一个字符 n 的时候,发现后面是没有横杆分隔符了,这个时候我们需要进行处理一下,需要进行去判断一下,如果我们迭代到的字符是最后一个字符,那么我们进行切片的时候,就应该从哪个地方切呢?“ 请你写出:小明的较小的妹妹的年龄。“我年龄的立方是个 4 位数。 阅读详情

相关推荐

python编程训练网站,python做项目的网站

刚入门Python,想了解自己掌握的情况,或者想更有效地吸收知识,找些题做一做是个非常高效的方法。基于以上原因,小编找了10个适合新手练习Python的做题网站,在此分享一下,希望对正在学习的你有所帮助。① Python所有方向的学习路线图,清楚各个方向要学什么东西② 600多节Python课程视频,涵盖必备基础、爬虫和数据分析③ 100多个Python实战案例,含50个超大型项目详解,学习不再是只会理论④ 20款主流手游迫解 爬虫手游逆行迫解教程包。

2401_84471631的博客 1744

真香!值得收藏的30道Python练手题(附详细答案)

来源丨Python极客专栏今天给大家分享30道Python练习题,建议大家先独立思考一下解题思路,再查看答案。1. 已知一个字符串为 “hello_world_yoyo”,如何得到一个队列 [“hello”,”world”,”yoyo”] ?使用 split 函数,分割字符串,并且将数据转换成列表类型:test = 'hello_world_yoyo' print(test.split("_")) 12 结果:['hello', 'world', 'yoyo']2.

Python学习与数据挖掘 5928

python编程从入门到实践(第2版)第二章练习题解答

文章目录一、第二章练习题解答练习2-1练习2-2练习2-3练习2-4练习2-5练习2-6练习2-7练习2-8练习2-9练习2-10练习2-11小结 一、第二章练习题解答 练习2-1 **简单消息 将一条消息赋给变量, 并将其打印出来。** msg = "I love learning to use Pythoy" print(msg) 练习2-2 **多条简单消息 将一条消息赋给变量, 并将其打印出来; 再将变量的值修改为一条新消息, 并将其打印出来。** msg = "I love learning

无懈灵动的博客 3575

25道Python练手题(附详细答案),赶紧收藏!Python入门|Python学习

迭代之后发现第二个分隔符,是不是还有一个分隔符的索引,这个时候我们继续向字符串进行切片,切片的开始位置是你的 i 这个位置的指针,结束的位置是第二个 - 的指针,那遵循左闭右开,所以我们 is 这个单词,也可以添加进列表。就这样一直到最后呢,当我们去迭代到最后一个字符 n 的时候,发现后面是没有横杆分隔符了,这个时候我们需要进行处理一下,需要进行去判断一下,如果我们迭代到的字符是最后一个字符,那么我们进行切片的时候,就应该从哪个地方切呢?“ 请你写出:小明的较小的妹妹的年龄。“我年龄的立方是个 4 位数。

2301_78095812的博客 2万+

100道Python经典练习题.pdf(附答案)

Python新手在谋求一份Python编程工作前,必须熟知Python的基础知识。编程网站DataFlair的技术团队分享了一份最常见Python面试题合集,既有基本的Python面试题,也有高阶版试题来指导你准备面试,试题均附有答案。面试题内容包括编码、数据结构、脚本撰写等话题。 1:Python有哪些特点和优点? 答:作为一门编程入门语言,Python主要有以下特点和优点: 可解释 具有动态特性 面向对象 简明简单 开源 具有强大的社区支持 2:深拷贝和浅拷贝之间的区别是什么?

pydby01的博客 4302

20道Python编程练习题实例与详解

素数是数学中一个非常基本的的概念。按照定义,任何大于1的自然数,如果它只有1和它本身两个因数,那么这个数就被认为是素数。例如,2、3、5、7、11等都是素数。而像4、6、8、9这样的数由于还有其他的因数,因此不是素数。

weixin_42584507的博客 1203

爆肝更新 Python 100道基础入门练习题(附答案)

大家早好、午好、晚好吖 ❤ ~更

weixin_62853513的博客 7059

智能座舱音频系统集成与调试:从芯片选型到音质优化实战

在智能座舱域控制器架构中,音频系统已从简单的功放加扬声器演进为SoC、数字音频总线、外部DSP与多通道功放协同的复杂子系统。TDM总线的时隙分配、PDM麦克风阵列的信号完整性,以及AEC回声消除算法如何与硬件协同,直接决定多音区体验和语音交互的可靠性。工程实践中,音频调试的关键在于先理顺供电、接地、时钟与数据路由,再针对功放削波、采样率失配、TDM slot错位等典型问题进行系统性排查。从芯片选型到系统级指标验收,只有将音频链路视为整车电子电气架构的一个协同整体,才能真正实现从“响”到“好听”的跨越。本文结

weixin_30162121的博客 364

Python基础练习题,含答案解析

大家好,我是辣条。 今天给大家整理一些Python练习题【含答案解析】,可以自己先尝试做一下,再和文末的答案解析核对,希望能帮助到你。 练习题 1.使用字符串的格式化输出完成以下名片的显示 ==========我的名片========== 姓名: itheima QQ:xxxxxxx 手机号:185xxxxxx 公司地址:北京市xxxx =========================== 2.使用字符串的格式化输出完成以下名片的显示 ==========我的名片=========..

五包辣条的博客 2万+

智能驾驶小白必看:MEB低速紧急制动系统的工作原理与传感器配置详解

本文深入解析了MEB低速紧急制动系统的工作原理与传感器配置。该系统作为智能驾驶的关键安全冗余,专为应对停车场、拥堵路段等复杂低速场景设计。文章详细拆解了其如何通过超声波雷达、环视摄像头等传感器融合感知环境,并基于碰撞时间(TTC)等模型进行风险评估与分级制动,最终实现主动防碰撞,是智能驾驶技术实用化的重要体现。

c2d3e4f的博客 1131

【HCIE】FRR+BFD+OSPF与BGP联动

FRR+BFD+OSPF与BGP联动

Wenrs的博客 1997

Python入门36道经典练习题

【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? num_list=[] cou=0 for i in range(1,5): for j in range(1,5): for k in range(1,5): if i!=j and j!=k and k!=i: res=...

python学习者的博客 3178

RKNN3588——YOLOv8的PT模型转RKNN模型

1. 首先克隆rknn修改后的ultralytics版本项目到本地主要是修改了源码的ultralytics/nn/modules/head.py和ultralytics/engine/exporter.py两个文件。2. 使用修改后的ultralytics对pt模型进行模型转换,此处的format=rknn代表支持rknn后续的转换,而不是用onnx,一定要注意!!!

张飞飞的博客 7173

值得苦练的100道Python经典练手题,(附详细答案)建议收藏

近年来,Python在编程语言界赚得盆满钵满,无论是人气还是薪资,相应的,对Python岗位的要求也越来越高。无论你是零基础还是老前辈,所以现在对于Python面试都不能掉以轻心。不打无准备之战,就需要在和平时期多积累。今天给大家分享一百多道Python真题的合集,都是经典题,从易到难,非常全面,供大家参考和学习。答案都是需要对应,代码齐全,可复制。它们不仅可以作为练习,也可以作为面试的参考。建议一份。

m0_59236602的博客 2730

手把手教你学Simulink——AC-DC整流器场景:基于传统晶闸管控制整流拓扑的建模:带反电动势负载的单相可控整流器输出特性仿真

在工业电力电子应用中,单相可控整流器常用于将交流电源转换为可调直流电压。当该整流器连接到具有**反电动势(Back EMF)**的负载时(如直流电机、电池充电系统等),其输出特性和工作原理与纯电阻性负载有所不同。本文将带你使用搭建一个带反电动势负载的单相全控桥式整流器模型,并通过仿真分析其输出电压、电流波形以及触发角对输出特性的影响。本文详细介绍了如何使用Simulink搭建一个带反电动势负载的单相全控桥式晶闸管整流器模型,并进行了输出特性的仿真分析。

MHD0815的博客 234

【26美赛A题】2026美赛数学建模(MCM/ICM)思路解析及代码分享

本文介绍了2026年美赛数学建模A题的解题思路与方法。A题通常属于连续型系统问题,重点在于构建可解释的机理模型,通过将现实机制转化为动态方程进行仿真预测。文章提出了通用建模路线,包括机理抽象、模型假设、动态建模、参数识别、系统仿真和情景预测六个阶段。专栏将提供从机理到方程的系统建模思路、参数标定方法、Python/Matlab实现代码以及高分论文模板。内容适合参加2026美赛A题、偏重物理/工程建模方向的参赛队伍,旨在提升机理建模能力。后续将更新完整题解和源码。

一键难忘的博客 2008

Python100道经典练习题:提升编程技能的绝佳助手

Python100道经典练习题:提升编程技能的绝佳助手 去发现同类优质开源项目:https://gitcode.com/ 项目核心功能/场景 Python100道经典练习题,巩固基础,提升编程能力。 项目介绍 在编程学习的道路上,理论与实践相结合是提高技能的不二法则。今天要为大家推荐的Python100道经典练习题,是一份专为Python学习者量身打造的练习资料。这个项目汇总了100个精心设计的练...

gitblog_06717的博客 414

在 SAP HANA 里为视图创建 Analytic Privilege,真正把同一份数据按角色切开

摘要:本文介绍了SAP HANA中基于业务角色的动态数据权限控制方法。通过Analytic Privilege技术,可以在同一视图上为不同角色设置不同的数据访问范围,实现行级安全控制。核心机制包括:1) 创建带有STRUCTURED PRIVILEGE CHECK的视图;2) 建立授权对象和用户映射表;3) 开发条件提供过程动态生成过滤条件;4) 创建结构化权限对象绑定条件提供器。这种设计使权限规则与业务数据解耦,便于维护变更,适合销售区域、财务数据等多角色访问控制场景。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2392

Python面试基础篇 - 50道经典面试题(附答案及多种解答)

读者福利!Python学习资料免费领取!

m0_68507761的博客 1万+

PCL 点云加权均值收缩

PCL 点云加权均值收缩

dayuhaitang1的博客 688

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

python编程入门经典pdf下载,python编程入门到精通pdf

这是我将近10年心血的结晶。编写本书期间,z终版本还未发布,但其包含的功能已确定,还推出了多个可用的版本。回到现实大环境下,酒香不怕巷子深的理念已悄然改变,高手对决,除了个体功力,更需要在关键节点有毛遂自荐的魄力与胆识,才能够事半功倍,机遇才可能降临到有准备的你的头上。本书是经典的Python入门教程,层次鲜明、结构严谨、内容翔实,特别是后面几章,作者将前面讲述的内容应用到10个引人入胜的项目中,并以模板的形式介绍了项目的开发过程,手把手教授Python编程实践,让读者从项目中领略Python的真正魅力。

2301_81900439的博客 2106

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【Python练习题】吃透这150道练习题,轻松搞定Python95%知识点 (含答案解析)

假设有一个序列,a[0] , a[1] , a[2]…只能使用o(1)额外空间来完成这个任务,例如[0,0,1,1,1,2,2,3,3,4,4,4,5],最终返回的长度是6,序列前6个元素是0 1 2 3 4 5。如果只是简单的翻转字符串,就过于简单了,因此要求翻转每一个单词,单词还是原来的样子,但是单词所在的位置却发生了翻转,第一个单词变成了倒数第一个单词。Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

m0_58477260的博客 1308

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

python入门经典代码-Python入门36道经典练习题

【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?num_list=[]cou=0for i in range(1,5):for j in range(1,5):for k in range(1,5):if i!=j and j!=k and k!=i:res=i*100+j*10+knum_list.append(res)cou+=1print(num_...

q6q6q的专栏 1038

分享30道Python练手题(附详细答案),新手小白必备项目学习资源!

定义 last_position 初始值为 -1。

Python_HUHU的博客 3592
上一篇: Python爬虫入门:7个实战案例带你快速上手
下一篇: Python实战:手把手教你打造学生管理系统
Python_trys
博客等级 码龄2年 4369粉丝 377原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值