百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Python100道练习题pdf版,(附答案)

itomcoil 2025-03-03 18:58 9 浏览

目录

  • 实例001:数字组合
  • 实例002:“个税计算”
  • 实例003:完全平方数
  • 实例004:这天第几天
  • 实例005:三数排序
  • 实例006:斐波那契数列
  • 实例007:copy
  • 实例008:九九乘法表
  • 实例009:暂停一秒输出
  • 实例010:给人看的时间
  • 实例011:养兔子
  • 实例012:100到200的素数
  • 实例013:所有水仙花数
  • 实例014:分解质因数
  • 实例015:分数归档
  • 实例016:输出日期
  • 实例017:字符串构成
  • 实例018:复读机相加
  • 实例019:完数
  • 实例020:高空抛物
  • 实例021:猴子偷桃
  • 实例022:比赛对手
  • 实例023:画菱形
  • 实例024:斐波那契数列II
  • 实例025:阶乘求和
  • 实例026:递归求阶乘
  • 实例027:递归输出
  • 实例028:递归求等差数列
  • 实例029:反向输出
  • 实例030:回文数
  • 实例031:字母识词
  • 实例032:反向输出II
  • 实例033:列表转字符串
  • 实例034:调用函数
  • 实例035:设置输出颜色
  • 实例036:算素数
  • 实例037:排序
  • 实例038:矩阵对角线之和
  • 实例039:有序列表插入元素
  • 实例040:逆序列表
  • 实例041:类的方法与变量
  • 实例042:变量作用域
  • 实例043:作用域、类的方法与变量
  • 实例044:矩阵相加
  • 实例045:求和
  • 实例046:打破循环
  • 实例047:函数交换变量
  • 实例048:数字比大小
  • 实例049:lambda
  • 实例050:随机数
  • 实例051:按位与
  • 实例052:按位或
  • 实例053:按位异或
  • 实例054:位取反、位移动
  • 实例055:按位取反
  • 实例056:画圈
  • 实例057:画线
  • 实例058:画矩形
  • 实例059:画图(丑)
  • 实例060:字符串长度
  • 实例061:杨辉三角
  • 实例062:查找字符串
  • 实例063:画椭圆
  • 实例064:画椭圆、矩形
  • 实例065:画组合图形
  • 实例066:三数排序
  • 实例067:交换位置
  • 实例068:旋转数列
  • 实例069:报数
  • 实例070:字符串长度II
  • 实例071:输入和输出
  • 实例072:创建链表
  • 实例073:反向输出链表
  • 实例074:列表排序、连接
  • 实例075:不知所云
  • 实例076:做函数
  • 实例077:遍历列表
  • 实例078:字典
  • 实例079:字符串排序
  • 实例080:猴子分桃
  • 实例081:求未知数
  • 实例082:八进制转十进制
  • 实例083:制作奇数
  • 实例084:连接字符串
  • 实例085:整除
  • 实例086:连接字符串II
  • 实例087:访问类成员
  • 实例088:打印星号
  • 实例089:解码
  • 实例090:列表详解
  • 实例091:time模块
  • 实例092:time模块II
  • 实例093:time模块III
  • 实例094:time模块IV
  • 实例095:转换时间格式
  • 实例096:计算复读次数
  • 实例097:磁盘写入
  • 实例098:磁盘写入II
  • 实例099:磁盘读写
  • 实例100:列表转字典


由于篇幅问题,需完整版后台扣“1”即可


实例001:数字组合

题目 有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?


程序分析 遍历全部可能,把有重复的剃掉。


total=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)):
                print(i,j,k)
                total+=1
print(total)


简便方法 用itertools中的permutations即可。


import itertools
sum2=0
a=[1,2,3,4]
for i in itertools.permutations(a,3):
    print(i)
    sum2+=1
print(sum2)



实例002:“个税计算”

题目 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?


程序分析 分区间计算即可。


profit=int(input('Show me the money: '))
bonus=0
thresholds=[100000,100000,200000,200000,400000]
rates=[0.1,0.075,0.05,0.03,0.015,0.01]
for i in range(len(thresholds)):
    if profit<=thresholds[i]:
        bonus+=profit*rates[i]
        profit=0
        break
    else:
        bonus+=thresholds[i]*rates[i]
        profit-=thresholds[i]
bonus+=profit*rates[-1]
print(bonus)



实例003:完全平方数

题目 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?


程序分析 因为168对于指数爆炸来说实在太小了,所以可以直接省略数学分析,用最朴素的方法来获取上限:


n=0
while (n+1)**2-n*n<=168:
    n+=1


print(n+1)


思路是:最坏的结果是n的平方与(n+1)的平方刚好差168,由于是平方的关系,不可能存在比这更大的间隙。

至于判断是否是完全平方数,最简单的方法是:平方根的值小数为0即可。

结合起来:


n=0
while (n+1)**2-n*n<=168:
    n+=1


for i in range((n+1)**2):
    if i**0.5==int(i**0.5) and (i+168)**0.5==int((i+168)**0.5):
        print(i-100)



实例004:这天第几天

题目 输入某年某月某日,判断这一天是这一年的第几天?


程序分析 特殊情况,闰年时需考虑二月多加一天:


def isLeapYear(y):
    return (y%400==0 or (y%4==0 and y%100!=0))
DofM=[0,31,28,31,30,31,30,31,31,30,31,30]
res=0
year=int(input('Year:'))
month=int(input('Month:'))
day=int(input('day:'))
if isLeapYear(year):
    DofM[2]+=1
for i in range(month):
    res+=DofM[i]
print(res+day)



实例005:三数排序

题目 输入三个整数x,y,z,请把这三个数由小到大输出。


程序分析 练练手就随便找个排序算法实现一下,偷懒就直接调函数。


raw=[]
for i in range(3):
    x=int(input('int%d: '%(i)))
    raw.append(x)


for i in range(len(raw)):
    for j in range(i,len(raw)):
        if raw[i]>raw[j]:
            raw[i],raw[j]=raw[j],raw[i]
print(raw)




raw2=[]
for i in range(3):
    x=int(input('int%d: '%(i)))
    raw2.append(x)
print(sorted(raw2))



实例006:斐波那契数列

题目 斐波那契数列。


程序分析 斐波那契数列(Fibonacci sequence),从1,1开始,后面每一项等于前面两项之和。图方便就递归实现,图性能就用循环。


递归实现


def Fib(n):
    return 1 if n<=2 else Fib(n-1)+Fib(n-2)
print(Fib(int(input())))


朴素实现
target=int(input())
res=0
a,b=1,1
for i in range(target-1):
    a,b=b,a+b
print(a)



实例007:copy

题目 将一个列表的数据复制到另一个列表中。


程序分析 使用列表[:],拿不准可以调用copy模块。


import copy
a = [1,2,3,4,['a','b']]


b = a          # 赋值
c = a[:]        # 浅拷贝
d = copy.copy(a)    # 浅拷贝
e = copy.deepcopy(a)  # 深拷贝


a.append(5)
a[4].append('c')


print('a=',a)
print('b=',b)
print('c=',c)
print('d=',d)
print('e=',e)


============ RESTART: F:\PyWorkspace\Python100\100examples\007.py ============

a= [1, 2, 3, 4, ['a', 'b', 'c'], 5]

b= [1, 2, 3, 4, ['a', 'b', 'c'], 5]

c= [1, 2, 3, 4, ['a', 'b', 'c']]

d= [1, 2, 3, 4, ['a', 'b', 'c']]

e= [1, 2, 3, 4, ['a', 'b']]



实例008:九九乘法表

题目 输出 9*9 乘法口诀表。


程序分析 分行与列考虑,共9行9列,i控制行,j控制列。


for i in range(1,10):
    for j in range(1,i+1):
        print('%d*%d=%2ld '%(i,j,i*j),end='')
    print()



实例009:暂停一秒输出

题目 暂停一秒输出。


程序分析 使用 time 模块的 sleep() 函数。


import time
for i in range(4):
    print(str(int(time.time()))[-2:])
    time.sleep(1)



实例010:给人看的时间

题目 暂停一秒输出,并格式化当前时间。


程序分析 同009.


import time


for i in range(4):
    print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
    time.sleep(1)

由于篇幅问题,需完整版后台扣“1”即可

最后祝大家早日学有所成!!

相关推荐

信创系统下的Anaconda离线配置全攻略

原文链接:「链接」Hello,大家好啊,今天给大家带来一篇信创操作系统上离线配置Anaconda的文章,欢迎大家分享点赞,点个在看和关注吧!在信创环境下使用Anaconda对Python进行包...

【Python】Mac中Anaconda安装与使用(2025)

一、anaconda介绍我是一个多年的Java工程师,之前也写过一些简单的Python程序,随着AI的发展,后续使用Python会越来越多,和Java一样,Python涉及环境配置...

在豆包的协助下,折腾了一天,电脑盲终于把Doccano安装好了

折腾了一天,终于把Doccano软件装好了。先是用Deepseek,提示词:给新手小白出一个在新电脑上安装doccano的教程新手小白安装Doccano终极教程无需编程基础,两种方法任选,全程避坑...

用Python开发日常小软件,让生活与工作更高效!附实例代码

引言:Python如何让生活更轻松?在数字化时代,编程早已不是程序员的专属技能。Python凭借其简洁易学的特点,成为普通人提升效率、解决日常问题的得力工具。无论是自动化重复任务、处理数据,还是开发个...

用python怎么做最简单的桌面计算器

有网友问,用python怎么做一个最简单的桌面计算器。如果只强调简单,在本机运行,不考虑安全性和容错等的话,你能想到的最简单的方案是什么呢?我觉得用tkinter加eval就够简单的。现在开整。首先创...

用python操作excel、word、pdf非常迅速方便,迅速教会你

你会用python操作excel、word、pdf吗?不会也没关系,这篇文章教会你~【文末领取】案例篇幅有限,给大家准备了电子版PDF获取方式:...

10 个每个初学者都应该知道的 Python 技巧

1.无需临时变量交换两个变量的值之前:a=5b=10temp=aa=bb=temp之后:a,b=5,10a,b=b,aprint(a,b)#输出:1051...

SQL用了两年多,分享2个最常用的小技巧

导读:SQL是所有数据从业者必须打牢的基本功之一,扎实的SQL查询和适当的调优技巧是检验SQL能力的两大重要准则。个人曾经专门花费过好多时间用于提升SQL能力,期间也刷了大量的SQL题目,在这期间也...

Python 高手的 15 个代码技巧,让你的编程效率翻倍

在Python编程的世界里,我们总能遇到一些代码写得更短、更快、更整洁的开发者。他们似乎掌握了一些不为人知的秘密。本文将揭示15个实用的Python技巧,这些技巧在初学者教程中鲜有提及,却...

30天学会Python编程:16. Python常用标准库使用教程

16.1collections模块16.1.1高级数据结构16.1.2示例fromcollectionsimportdefaultdict,Counter,deque#默认字典...

7 个小 Python 技巧(python技巧总结60)

1.使用_作为临时变量这一点很微小,但非常强大。有时候你需要一个循环或一个你实际上不会使用的值。比如:for_inrange(3):print("Hello")过去...

如何系统的学python?(如何系统的学剪辑)

我不喜欢一上来就推荐一堆参考资料的东西,那只会让初学者更迷茫。好比一个婴儿,你告诉他学会走路的方法有100种,他只会变的对走路毫无兴趣,他要的只是一种最有效的学会走路的办法,而不是100种。同样的,下...

Python 静态方法、类方法与多态方法:特性解析与实战应用

在Python面向对象编程的重要概念,它们各自具备独特的特性和应用场景,为开发者提供了多样化的编程方式。静态方法不依赖实例状态,类方法以类为操作主体,多态方法则实现了不同类对象对同一消息的差异化响...

用 Python 库 PySimpleGUI 制作自动化办公小软件

Python在运维和办公自动化中扮演着重要的角色,PySimpleGUI是一款很棒的自动化辅助模块,让你更轻松的实现日常任务的自动化。1PySimpleGUI安装在命令行/终端输入:pipin...

一日多技:8个有趣的Python实用技巧

在这一小节中,我们将看到8个实用的python技巧,这些技巧使用比较高频且有用。列表的反向查找:我们可以使用reverse()函数让列表中的元素反向,它处理列表中存在的数字和字符串数据类型。下面我们直...