Time will tell.

最近花时间做了很多关于Python的资料整理,有Python案例练习题、面试题、自动化测试等众多类型的。今天来这里分享一波!

1、自定义 n 个整数,使其前面的数按顺序向后移 m(自定义) 个位置,而后面 m 个数则在最前面的 m 个数的位置上。


def move_backward(m):a = [2, 8, 6, 1, 78, 45, 34, 2]for i in range(len(a) - m):a.append(a[0])a.pop(0)return aif __name__ == '__main__':print(move_backward(5))

2、有n个人围成了一圈,序号排列。从第一个人开始报数,凡报到 3 的人退出圈子,那么最后留下的人是原来一整个圈子里的几号?


def report(num):lst = []for i in range(num):lst.append(i + 1)t = 0while len(lst) > 1:for x in range(3):t += 1if x == 2:t -= 1lst.pop(t)if t == len(lst):t = 0return lst[0]if __name__ == '__main__':print(report(34))

打印结果:

10

3、编写函数,随机输入一个 n,当它为偶数时调用函数求 1/2+1/4+…+1/n 的值,当它为奇数时,调用函数求 1/1+1/3+…+1/n 的值。


def peven(n):i = 0s = 0.0for i in range(2,n + 1,2):s += 1.0 / i   # Python里,整数除整数,只能得出整数,所以需要使用 浮点数 1.0return sdef podd(n):s = 0.0for i in range(1, n + 1,2):s += 1.0 / i    # Python里,整数除整数,只能得出整数,所以需要使用 浮点数 1.0return sdef dcall(fp,n):s = fp(n)return sif __name__ == '__main__':n = int(raw_input('input a number:\n'))if n % 2 == 0:sum = dcall(peven,n)else:sum = dcall(podd,n)print sum

4、有一堆桃子,5只猴子来分。第一只猴子把这堆桃子平均分为5份,多出的一个桃子被这只猴子扔了,并拿走其中一份。第二只猴子把剩下的桃子平均分成5份,又多了一个,它同样把多的一个扔了,并拿走了其中一份。第三、四、五只猴子同样这么做,那么原来一共有多少个桃子?


def divide_peach():for num in range(1000):for x in range(5):num = num * 5 + 1if not num % 4:num = num // 4continueelse:breakif x == 4:return numreturn Noneif __name__ == '__main__':print(divide_peach())

5、?? 代表一个两位数,809*?? = 800*??+9*?? , 809*?? 结果为四位数,8*?? 结果为两位数,9*??结果为三位数。求?? 是多少,及809*?? 的结果。


a = 809
for i in range(10,100):b = i * aif b >= 1000 and b <= 10000 and 8 * i < 100 and 9 * i >= 100:print b,' = 800 * ', i, ' + 9 * ', i

6、2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。


a = 2.0
b = 1.0
s = 0
for n in range(1,21):s += a / bt = aa = a + bb = t
print s

7、将一个八进制转换为十进制。


if __name__ == '__main__':n = 0p = raw_input('input a octal number: ')for i in range(len(p)):n = n * 8 + ord(p[i]) - ord('0')print n

8、求 0 到 7 当中所能组成的奇数的个数。


if __name__ == '__main__':sum = 4s = 4for j in range(2,9):print sumif j <= 2:s *= 7else:s *= 8sum += sprint 'sum = %d' % sum

9、随机输入一个奇数,然后判断该数最少除以几个 9后,结果为整数。


if __name__ == '__main__':zi = int(raw_input('输入一个数字:\n'))n1 = 1c9 = 1m9 = 9sum = 9while n1 != 0:if sum % zi == 0:n1 = 0else:m9 *= 10sum += m9c9 += 1print '%d 个 9 可以被 %d 整除 : %d' % (c9,zi,sum)r = sum / ziprint '%d / %d = %d' % (sum,zi,r)

10、求1+2!+3!+4!..+20!的和值。


n = 0
s = 0
t = 1
for n in range(1,21):t *= ns += t
print '1! + 2! + 3! + ... + 20! = %d' % s

如果你对更多Python案例练习题、面试题、自动化测试感兴趣的话,可以加入我们175317069一起学习喔。

11、在 1—50当中输入其中7个整数值,每输入一个数,程序在打印行打印出相对应个数的*号。


if __name__ == '__main__':n = 1while n <= 7:a = int(raw_input('input a number:\n'))while a < 1 or a > 50:a = int(raw_input('input a number:\n'))print a * '*'n += 1

12、公司采用公用电话传递数据,数据是一个四位整数,在传递过程中加密。每位数字都加上5,然后用和 除以10的余数来代替该数字。再将第一位与第四位交换,第二位与第三位交换。求数据加密后的数(自定义一个加密钱的四位数)。


from sys import stdout
if __name__ == '__main__':a = int(raw_input('输入四个数字:\n'))aa = []aa.append(a % 10)aa.append(a % 100 / 10)aa.append(a % 1000 / 100)aa.append(a / 1000)for i in range(4):aa[i] += 5aa[i] %= 10for i in range(2):aa[i],aa[3 - i] = aa[3 - i],aa[i]for i in range(3,-1,-1):stdout.write(str(aa[i]))

13、在打印行当中随机输入一些字符,逐个把它们写到磁盘文件上,直到输入一个 # 为止。


if __name__ == '__main__':from sys import stdoutfilename = raw_input('输入文件名:\n')fp = open(filename,"w")ch = raw_input('输入字符串:\n')while ch != '#':fp.write(ch)stdout.write(ch)ch = raw_input('')fp.close()

14、在打印行当中随机输入一些字符,将小写字母全部转换成大写字母,然后输出到一个磁盘文件"test"中保存。


if __name__ == '__main__':fp = open('test.txt','w')string = raw_input('please input a string:\n')string = string.upper()fp.write(string)fp = open('test.txt','r')print fp.read()fp.close()

15、有A、B两个磁盘文件,各存放一行字母。用代码把这两个文件中的信息合并,并输出到一个新文件C中。


# 在脚本执行的目录下创建 test1.txt、test2.txt 文件。if __name__ == '__main__':import stringfp = open('test1.txt')a = fp.read()fp.close()fp = open('test2.txt')b = fp.read()fp.close()fp = open('test3.txt','w')l = list(a + b)l.sort()s = ''s = s.join(l)fp.write(s)fp.close()

16、使用递归的方法求5!。


def fact(j):sum = 0if j == 0:sum = 1else:sum = j * fact(j - 1)return sumprint fact(5)

17、对随机输入的10个数字进行排序。


if __name__ == "__main__":N = 10# input dataprint '请输入10个数字\n'l = []for i in range(N):l.append(int(raw_input('输入一个数:\n')))printfor i in range(N):print l[i]print# 排列10个数字for i in range(N - 1):min = ifor j in range(i + 1,N):if l[min] > l[j]:min = jl[i],l[min] = l[min],l[i]print '排列后:'for i in range(N):print l[i]

18、用代码打印出100以内的所有素数。


lower = int(input("输入区间最小值: "))
upper = int(input("输入区间最大值: "))for num in range(lower,upper + 1):# 素数大于 1if num > 1:for i in range(2,num):if (num % i) == 0:breakelse:print(num)

19、用代码算出 1 到 100之间的和值。


tmp = 0
for i in range(1,101):tmp += i
print 'The sum is %d' % tmp

20、用代码在打印行中,输出一个菱形图案(自定义打印行数)。


def diamond(side_len):for i in range(1, side_len + 1, 2):print((i * '*').center(side_len, ' '))for i in reversed(range(1, side_len, 2)):print((i * '*').center(side_len, ' '))if __name__ == '__main__':diamond(7)

好咯,今天就分享到这里了啦,如果你对更多Python案例练习题、面试题、自动化测试感兴趣的话,可以加入我们175317069一起学习喔。群里会有各项资源发放,也有行业深潜多年的测试人技术分析讲解。期待你的加入!

最后祝愿你能成为一名优秀的工程师!

欢迎【评论】、【点赞】、【关注】~

Time will tell.(时间会证明一切)

Python算法、经典面试常见案例题大分享!!!相关推荐

  1. 精选微软等公司数据结构+算法经典面试100题[1-80题]

    原文转自:http://topic.csdn.net/u/20101126/10/b4f12a00-6280-492f-b785-cb6835a63dc9.html 精选微软等数据结构+算法面试100 ...

  2. 精选微软等公司数据结构+算法经典面试100题及答案

    1.把二元查找树转变成排序的双向链表 题目: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表. 要求不能创建任何新的结点,只调整指针的指向. 10 / \ 6 14 / \ / \ 4 8 ...

  3. python算法工程师面试_算法工程师的面试经历及总结

    2017年即将过去,今年是忙碌的一年,从2月17还没开学就来学校,到现在12月初,工作的事情终于尘埃落定,现将这一段经历写下来,希望能帮助来年找工作的学弟学妹,同时,对自己来说,也是一年的工作总结,总 ...

  4. python中怎么取整数案例题_python中如何取整数

    首先,不得不提醒大家一个容易被忽视或者搞混的问题--一般的,0.5这种末尾是5的小数,四舍五入取整应进位.这个进位的意思是:-0.5 → -1:0.5 → 1.即正负情况不同,都向着远离0,使得绝对值 ...

  5. python算法工程师面试_NLP算法工程师面试题及复习资料

    向AI转型的程序员都关注了这个号

  6. python怎么学比较有技巧_怎么学python学的快?学习技巧大分享

    为了提高模块加载的速度,每个模块都会在__pycache__文件夹中放置该模块的预编译模块,命名为module.version.pyc,version是模块的预编译版本编码,一般都包含Python的版 ...

  7. python装饰器函数-Python函数装饰器常见使用方法实例详解

    本文实例讲述了Python函数装饰器常见使用方法.分享给大家供大家参考,具体如下: 一.装饰器 首先,我们要了解到什么是开放封闭式原则? 软件一旦上线后,对修改源代码是封闭的,对功能的扩张是开放的,所 ...

  8. 【面试】学哥学姐,毕业找工作45个经典面试问题回答技巧送给你

    45个经典面试回答问题提示,分享给毕业即将工作的同学们 另外博主收藏这些年来看过或者听过的一些不错的常用的上千本书籍,没准你想找的书就在这里呢,包含了互联网行业大多数书籍和面试经验题目等等.有人工智能 ...

  9. 面试10大算法汇总+常见题目解答

    http://www.programcreek.com/2012/12/%E9%9D%A2%E8%AF%9510%E5%A4%A7%E7%AE%97%E6%B3%95%E6%B1%87%E6%80%B ...

  10. 编程面试过程中最常见的10大算法

    编程面试过程中最常见的10大算法 编程语言:C/C++ 1. 字符串 如果IDE没有代码自动补全功能,所以你应该记住下面的这些方法. toCharArray() // 获得字符串对应的char数组 A ...

最新文章

  1. mysql引擎层存储层_MySQL存储底层技术:InnoDB底层原理解读
  2. 魔兽世界怀旧服最新服务器开发时间,怀旧服开70最新消息汇总 魔兽怀旧服TBC开放时间几个阶段?...
  3. SendKeys中特殊字符的键代码
  4. 为什么使用HashMap需要重写hashcode和equals方法_为什么要重写hashcode和equals方法?你能说清楚了吗...
  5. Java利用TreeMap实现统计种类
  6. spring boot创建应用 端口冲突8080
  7. 在Ubuntu 7.04上安装Xfce 4.4.1
  8. 学信网:研究生云复试平台快速搭建上线
  9. java map 优化_java.util.map和java.util.set的优化实现?
  10. 小猿圈WEB前端之HTML5+CSS3面试题(一)
  11. 有效利用ASP.NET用户控件的事件委托
  12. VS2017编译geos
  13. 【luogu CF1153F】Serval and Bonus Problem(期望)(DP)
  14. 简洁大气的资源网站emlog模板
  15. TzT233的大盘鸡(未完成)
  16. js 无害化_道德第一无害
  17. 在计算机系统中存储容量最大的设备,计算机系统中存储容量最大的部件是().
  18. 淘宝商品采集上架拼多多店铺(无货源数据采集接口,拼多多商品详情数据,淘宝商品详情数据,京东商品详情数据)接口代码对接教程
  19. CodeForces - 89A - Robbery
  20. 电路中 电容的作用【大全】!

热门文章

  1. 捷联惯导数值更新算法-姿态更新+速度更新+位置更新
  2. Linux 安装flash
  3. 【CAD】DWF文件格式详细说明,清晰易懂
  4. SAP常用TCODE收藏
  5. 条码软件如何自定义设置条形码尺寸
  6. vmware之VMware Remote Console (VMRC) SDK(二)
  7. 2021年全国大学生电子设计大赛题目
  8. RemObjects SDK 简介
  9. 网络协议梳理(四)(socket、想要实现高并发,可以通过以下四种方式)
  10. simotion基本功能手册_深入浅出西门子运动控制器:SIMOTION实用手册