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

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

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

目录

  • 实例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”即可

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

相关推荐

使用opencv-Python进行图像锐化处理

使用OpenCV函数cv::filter2D执行一些拉普拉斯滤波以进行图像锐化使用OpenCV函数cv::distanceTransform以获得二值图像的派生(derived)表示,...

Python-OpenCV 7. 图像二值化

一、介绍图像二值化(ImageBinarization)就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程。在数字图像处理中,二值图像占有非常重要的地位,图...

OpenCV+Python裁剪图像

最近使用OpenCV+Python做了一个程序,功能是自动将照片中的文本部分找出来并裁剪/旋转保存为新的图片。这个功能用专业些的说法就是选择并提取感兴趣区域(ROI(RegionofInteres...

简单易懂的人脸识别!用PythonOpenCV实现(适合初...

前言:OpenCV是一个开源的计算机视觉和机器学习库。它包含成千上万优化过的算法,为各种计算机视觉应用提供了一个通用工具包。根据这个项目的关于页面,OpenCV已被广泛运用在各种项目上,从谷歌街景...

OpenCV行人检测应用方案--基于米尔全志T527开发板

本文将介绍基于米尔电子MYD-LT527开发板(米尔基于全志T527开发板)的OpenCV行人检测方案测试。摘自优秀创作者-小火苗一、软件环境安装1.在全志T527开发板安装OpenCVsudoap...

纯Python构建Web应用:Remi与 OpenCV 结合实现图像处理与展示

引言大家好,我是ICodeWR。在前几篇文章中,我们介绍了Remi的基础功能、多页面应用、动态更新、与Flask结合、与数据库结合、与Matplotlib结合以及与Pandas结合。...

【AI实战项目】基于OpenCV的“颜色识别项目”完整操作过程

OpenCV是一个广受欢迎且极为流行的计算机视觉库,它因其强大的功能、灵活性和开源特性而在开发者和研究者中备受青睐。学习OpenCV主要就是学习里面的计算机视觉算法。要学习这些算法的原理,知道它们适用...

Python自动化操控术:PyAutoGUI全场景实战指南

一、PyAutoGUI核心武器库解析1.1鼠标操控三剑客importpyautogui#绝对坐标移动(闪电速度)pyautogui.moveTo(100,200,duration=0....

从零开始学python爬虫(七):selenium自动化测试框架的介绍

本节主要学习selenium自动化测试框架在爬虫中的应用,selenium能够大幅降低爬虫的编写难度,但是也同样会大幅降低爬虫的爬取速度。在逼不得已的情况下我们可以使用selenium进行爬虫的编写。...

「干货分享」推荐5个可以让你事半功倍的Python自动化脚本

作者:俊欣来源:关于数据分析与可视化相信大家都听说自动化流水线、自动化办公等专业术语,在尽量少的人工干预的情况下,机器就可以根据固定的程序指令来完成任务,大大提高了工作效率。今天小编来为大家介绍几个P...

python+selenium+pytesseract识别图片验证码

一、selenium截取验证码#私信小编01即可获取大量Python学习资源#私信小编01即可获取大量Python学习资源#私信小编01即可获取大量Python学习资源importjso...

Python爬虫实战 | 利用多线程爬取 LOL 高清壁纸

一、背景介绍随着移动端的普及出现了很多的移动APP,应用软件也随之流行起来。最近看到英雄联盟的手游上线了,感觉还行,PC端英雄联盟可谓是爆火的游戏,不知道移动端的英雄联盟前途如何,那今天我们使用到...

一套真实的Python面试题,几十个题目汇总

1.(1)python下多线程的限制以及多进程中传递参数的方式python多线程有个全局解释器锁(globalinterpreterlock),这个锁的意思是任一时间只能有一个线程使用解释器,跟...

一文读透,Python暴力(BF)字符串匹配算法到 KMP 算法之间的变化

1.字符串匹配算法所谓字符串匹配算法,简单地说就是在一个目标字符串中查找是否存在另一个模式字符串。如在字符串"ABCDEFG"中查找是否存在“EF”字符串。可以把字符...

Python实现屏幕自动截图

教程目录需要实现的功能:自动屏幕截图具体需求:1.支持设置截图频率和截图文件存储路径2.在存储截图时判断与前一张截图的相似度,只有屏幕发生了显著的变化才存储截图所需技术(搜索关键词):1.屏幕截...