python基础案例10题(一)

最后

🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

在这里插入图片描述

🍓2.个税计算


题目:

企业发放的奖⾦根据利润提成。利润(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,求应发放奖⾦总数?

分析:

分区间计算即可。

解法:

#法一:

I = int(input(“请输入当月利润:”))

if I<=100000:

bonus = I*0.1

elif I>=100000 and I<=200000:

bonus = 100000*0.1 + (I-100000)*0.075

elif I>=200000 and I<=400000:

bonus = 1000000.1 + 1000000.075+(I-200000)*0.05

elif I>=400000 and I<=600000:

bonus = 1000000.1 + 1000000.075 + 200000*0.05 + (I-400000)*0.03

elif I>=600000 and I<=1000000:

bonus = 1000000.1 + 1000000.075 + 2000000.05 + 2000000.03 + (I-600000)*0.015

else:

bonus = 100000 * 0.1 + 100000 * 0.075 + 200000 * 0.05 + 200000 * 0.03 + 400000 * 0.015 + (I-1000000)*0.01

print(bonus)

#法二:

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)

结果:

在这里插入图片描述

🍓3.完全平方数


题目:

⼀个整数,它加上100后是⼀个完全平⽅数,再加上168⼜是⼀个完

全平⽅数,请问该数是多少?

完全平方数:若一个数能表示成某个整数的平方的形式,则称这个数为完全平方数。即如果一个正整数a是某一个整数b的平方,那么这个正整数a叫做完全平方数。完全平方数是非负数,零也可称为完全平方数,一个完全平方数的项有两个。举例:0、1、4、9、16、25、36、49都是完全平方数。

分析:

思路是:最坏的结果是n的平⽅与(n+1)的平⽅刚好差168,由于是平⽅的关

系,不可能存在⽐这更⼤的间隙。因为168对于指数爆炸来说实在太⼩了,所以可以直接省略数学分析,⽤最朴素的⽅法来获取上限。⾄于判断是否是完全平⽅数,最简单的⽅法是:平⽅根的值⼩数为0即可。

解法:

获取上限

n=0

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

n += 1

#遍历找出结果

for i in range((n+1)**2):

if i0.5 == int(i0.5) and (i+168)**0.5 == int((i+168)**0.5):

print(i-100)

结果:

在这里插入图片描述

🍓4.这天第几天


题目:

输⼊某年某⽉某⽇,判断这⼀天是这⼀年的第⼏天?

分析:

特殊情况,闰年时需考虑⼆⽉多加⼀天

解法:

#判断是否是润年的函数

def isLeapYear(y):

if((y%4000 or (y%40 and y%100!=0))):

return True

else:

return False

#把1到11月对应的天数写进列表中,列表零位存0

months_day = [0,31,28,31,30,31,30,31,31,30,31,30]

res = 0

year,month,day = map(int,input(“请输入年月日,中间用逗号隔开:”).split(“,”))

if isLeapYear(year):

months_day[2] += 1

for i in range(1,month):

res += months_day[i]

print(res+day)

结果:

在这里插入图片描述

🍓5.数字排序


题目:

输⼊任意个整数,请把这几个数由⼩到⼤输出。

分析:

练练⼿就随便找个排序算法实现⼀下,偷懒就直接调函数。

解法:

#法一:排序算法(选择排序)

num_list = list(map(int,input(“输入任意个数,以空格隔开:”).split(" ")))

for i in range(len(num_list)-1):

for j in range(i+1,len(num_list)):

if num_list[i]>num_list[j]:

t = num_list[j]

num_list[j] = num_list[i]

num_list[i] = t

print(num_list)

#法二:用内置函数sort对列表排序

num_list = list(map(int,input(“输入三个数,以空格隔开:”).split(" ")))

num_list.sort()

print(num_list

结果:

在这里插入图片描述

🍓6.斐波那契数列


题目:

求斐波那契数列某一项的值。

分析:

斐波那契数列(Fibonacci sequence),从1,1开始,后⾯每⼀

项等于前⾯两项之和。图⽅便就递归实现,图性能就⽤循环。

解法:

#法一:递归

def Fib(i):

if i<=2:

return 1;

else:

return Fib(i-1) + Fib(i-2)

print(Fib(int(input(“请输入你要求的项:”))))

#法二:循环

target = int(input(“请输入你要求的项:”))

a,b = 1,1

for i in range(target-2):

t = a+b

a = b

b = t

print(b)

结果:

在这里插入图片描述

🍓7.列表拷贝-copy


题目:

将⼀个列表的数据复制到另⼀个列表中。

分析:

使⽤列表[:],拿不准可以调⽤copy模块。

解法:

import copy

a = [1,2,3,4,[‘a’,‘b’]]

b = a # 赋值 - 引用,a,b指向同一对象

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)

结果:

在这里插入图片描述

🍓8.九九乘法表


题目:

输出 9*9 乘法⼝诀表。

分析:

分⾏与列考虑,共9⾏9列,i控制⾏,j控制列。

解法:

for i in range(1,10):

for j in range(1,i+1):

print(“%d*%d=%2d”%(i,j,i*j),end=" ")

print() #换行

结果:

在这里插入图片描述

🍓9.暂停一秒输出


题目:

让程序暂停⼀秒输出。

分析:

使⽤ time 模块的 sleep() 函数。

解法:

import time

#time.time()生成时间戳

#time.sleep()让程序暂停一秒

for i in range(4):

print(time.time())

print(int(time.time()))

print(str(int(time.time()))[-2:]) #取时间戳整数部分的字符串的后两位

time.sleep(1)

做了那么多年开发,自学了很多门编程语言,我很明白学习资源对于学一门新语言的重要性,这些年也收藏了不少的Python干货,对我来说这些东西确实已经用不到了,但对于准备自学Python的人来说,或许它就是一个宝藏,可以给你省去很多的时间和精力。

别在网上瞎学了,我最近也做了一些资源的更新,只要你是我的粉丝,这期福利你都可拿走。

我先来介绍一下这些东西怎么用,文末抱走。


(1)Python所有方向的学习路线(新版)

这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

最近我才对这些路线做了一下新的更新,知识体系更全面了。

在这里插入图片描述

(2)Python学习视频

包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。

在这里插入图片描述

(3)100多个练手项目

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。

在这里插入图片描述

(4)200多本电子书

这些年我也收藏了很多电子书,大概200多本,有时候带实体书不方便的话,我就会去打开电子书看看,书籍可不一定比视频教程差,尤其是权威的技术书籍。

基本上主流的和经典的都有,这里我就不放图了,版权问题,个人看看是没有问题的。

(5)Python知识点汇总

知识点汇总有点像学习路线,但与学习路线不同的点就在于,知识点汇总更为细致,里面包含了对具体知识点的简单说明,而我们的学习路线则更为抽象和简单,只是为了方便大家只是某个领域你应该学习哪些技术栈。

在这里插入图片描述

(6)其他资料

还有其他的一些东西,比如说我自己出的Python入门图文类教程,没有电脑的时候用手机也可以学习知识,学会了理论之后再去敲代码实践验证,还有Python中文版的库资料、MySQL和HTML标签大全等等,这些都是可以送给粉丝们的东西。

在这里插入图片描述

这些都不是什么非常值钱的东西,但对于没有资源或者资源不是很好的学习者来说确实很不错,你要是用得到的话都可以直接抱走,关注过我的人都知道,这些都是可以拿到的。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 13
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值