
python习题库
每天练习python编程题
后街女孩love
即使最困难的时候,我们也要对明天投入,否则未来没有希望
展开
-
python习题库12-15/1-7
习题12:统计首字母是“a”的单词的个数编程思想:1、生成字符串s2、初始一个count=0,用于统计s字符串中的a的个数3、将字符串s切割遍历,判断如果s字符串某个位置的元素等于a,那么count加14、输出count知识点:python split()方法Python split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串语法:str.split(str="", num=string.count(str)).str – 分隔符,默认原创 2020-07-05 01:07:38 · 1575 阅读 · 0 评论 -
python习题库字符串1-11
习题1:一个句子中的所有数字和标点符号删除方法1:#encoding=utf-8s="i am a boy, my age is 19 years."import stringresult=""for letter in s: if not letter.isdigit() and letter not in string.punctuation: result+=letterprint(result)方法2:#encoding=utf-8import st原创 2020-06-25 16:19:54 · 502 阅读 · 0 评论 -
Python测试开发预习课6/18
注意:切片是可以越界的遍历不要改原字符串1、abcxxx,请统计一下x有多少个?用函数实现知识点:>>> s="abcaxxx">>> s.count("x")3count函数的算法算法:1 定义一个函数,参数传递一个字符串2 声明一个变量letter_count存储某个字符出现的个数3 遍历字符串,逐一拿出来,判断是否是你想要统计的那个4 如果是,则letter_count+15 如果不是,则什么都不做6 把函数中的统计结果变量返回回来原创 2020-06-21 14:41:37 · 342 阅读 · 0 评论 -
python习题库160-175
习题160、将一个多重嵌套的列表的元素进行互换,存到另一个同等维度的嵌套列表中,例如:[[1,2,3],[4,5,6]]互换后变成[[1,4],[2,5],[3,6]]知识点:zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。返回元组列表。lis_1=[[1,2,3],[4,5,6]]lst_2=[[1,4],[2,5],[3,6]原创 2020-06-21 14:25:12 · 655 阅读 · 1 评论 -
python习题库143-159
习题143、生成一个新列表,-1的左边都是小于它的,右边都是大于它的。a= [-1,2,3,-3,0,-5,5]a = [-1,2,3,-3,0,-5,5]base = a[0]list1=[]list2=[]for num in a: if num <base: list1.append(num) else: list2.append(num)print(list1 + [base] + list2)习题144、在列表[100, 2,原创 2020-06-10 23:20:27 · 214 阅读 · 0 评论 -
python习题库132-142
习题132、递归求两个数的最大公约数方法1:算法:找出两个数的较小数(第一次)如果两个数除以较小数余数都等于0的话,添加到一个列表中不然的话继续调用函数自身,并且num-1传入到num参数中。def max_common_divisor(a,b,num=0,result=[]): if num == 0: if a < b: num = a else: num = b if a%num ==原创 2020-06-07 23:23:40 · 293 阅读 · 0 评论 -
python习题库121-131
习题121、二维矩阵转置a=[[1,2,3],[4,5,6],[7,8,9],[10,11,12]]result_list=[]for i in range(3): list_inner=[] for l in a: list_inner.append(l[i]) result_list.append(list_inner)print(result_list)习题122、删除二维矩阵的第1列#conding=utf-8a=[[1,2,3原创 2020-06-03 23:27:37 · 478 阅读 · 0 评论 -
python习题库116-120
习题116、L中分别按照学生姓名和学生成绩排序l=[("Bob",54),("Andy",98),("Qianli",100),("lili",78)]def by_name(t): return t[0]def by_score(t): return t[1]print(sorted(l,key=by_name))print(sorted(l,key=by_score))习题117、按照句子中每个单词的首字母进行排序,不区分大小写s="I am a boy I am原创 2020-05-31 23:02:47 · 292 阅读 · 0 评论 -
python习题库105-115
习题104、画等边三角形for i in range(1,7): print() for k in range(i): print(" ",end="") for j in range(i,7): print(" *",end="")习题105、有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。result=0.0a=2b=1for i in range(20): print(a,b原创 2020-05-30 22:59:29 · 330 阅读 · 0 评论 -
python习题库100-104
习题100、对一个列表求和,如列表是[4, 3, 6],求和结果是 [4, 7, 13],每一项的值都等与该项的值加上前一项的值。方法1:l=[4,3,6]result=[]for i in range(len(l)): result.append(sum(l[0:i+1]))print(result)方法2:from functools import reducel=[4,3,6]result=[]temp_list=[]for v in l: temp_li原创 2020-05-27 22:59:13 · 214 阅读 · 0 评论 -
python习题库88-99
习题88、求一个字符串中的字母个数函数需判断传入参数的类型。必须使用ascii来判断是否字母def letter_number(s): count_letter=0 if not isinstance(s,str): print("参数错误,请重新输入!") return -1 else: for i in s: if (ord(i)>=97 and ord(i) <=122) or (ord(i)原创 2020-05-26 22:47:57 · 213 阅读 · 0 评论 -
python习题库76-87
习题76、给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出 各位数字。number=input("请输入一个不多于5位的正整数:")if len(number) <=5: print("位数:",len(number)) print("倒叙打印出各位数字:",number[::-1])else:print("请输入不多于5位的正整数!")习题77、求1000以内的所有水仙花数(水仙花数:它的每个位上的数字的 n 次幂 之和等于它本身,例如:1^3 + 5^原创 2020-05-24 23:20:47 · 394 阅读 · 1 评论 -
python习题库66-75
习题66、实现数学中多项式求和公式的打印 比如:a6x^6 + a5x^5 + a4x^4 + a3x^3 + a2x^2 + a1x^1 + a0string=""for i in range(6,-1,-1): if i>=1: string+=("a"+str(i)+"x"+"^"+str(i)+"+") else: string+=("a"+str(i))print(string)习题67、统计名字列表中,各名字的首字母在名字列表中原创 2020-05-24 08:47:50 · 417 阅读 · 0 评论 -
python习题库57-65
习题57、 用户输入不同的数据,当输入的数据达到3个数字的时候,求和结束程序。(数字可以是整数)提示:判断是否整数的方法,isdigit()遍历所有的输入数据,判断是否在0-9的字符串范围内方法1:#coding=utf-8result=0count=0while True: s=input("please input the number:") for v in s: if v not in "0123456789":#如果不是数字跳出当前循环原创 2020-05-22 23:38:11 · 245 阅读 · 0 评论 -
python习题库51-56
习题51:判断一个数是否是素数import mathdef is_prime(num): if num==1: return False if num==2: return True else: for i in range(2,int(math.sqrt(num))+1): if num % i == 0: return False return True原创 2020-05-21 00:00:54 · 377 阅读 · 0 评论 -
python习题库45-50
习题45、设定一个用户名和密码,用户输入正确的用户名和密码,则显示登录成功,否则提示登录失败,用户最多失败3次,否则退出程序。方法1:username="root"password="123456"for i in range(3): user=input("please input the username:") passwd=input("please input the passwd:") if user==username and passwd == password原创 2020-05-19 23:38:35 · 301 阅读 · 0 评论 -
python习题库39-44
习题39、实现一个简单的单词本(不会)功能:可以添加单词和词义,当所添加的单词已存在,让用户知道;可以查找单词,当查找的单词不存在时,让用户知道;可以删除单词,当删除的单词不存在时,让用户知道;以上功能可以无限制操作,直到用户输入bye退出程序info = """add: add the word and word meanfind: find the worddel : delete the wordbye :quit the program"""print(info)wor原创 2020-05-18 23:35:14 · 286 阅读 · 0 评论 -
python习题库16-38
习题16、求一个列表中的最大值编程思想:1、写函数,参数为某列表的最大值2、遍历列表a,判断列表元素与最大元素的大小,如果比最大元素大,则将该元素的值赋给最大值3、写一个列表引用函数,输出该列表的最大值def max(a): max_num=a[0] for i in a: if i>max_num: max_num=i return max_numa=[1,2,3,4,5]print(max(a))习题17:生成9原创 2020-05-17 18:56:29 · 451 阅读 · 0 评论 -
python习题库1-15
习题1:一个列表,排重,不能用set,也不能用字典算法:1、生成一个空列表result,存储排重后的元素2、遍历列表的每一个元素,判断是否在result列表里面,如果不在,就添加到result列表中3、如果在,不做任何操作4、打印result列表l=[1,2,3,4,1,2,3,4,1,2]result=[]for i in l: if i not in result: result.append(i)print(result)习题2:输出大原创 2020-05-17 11:24:42 · 348 阅读 · 0 评论 -
python列表专项练习
题目40:1、[1,2,3,4,5]怎么知道3在第几个位置。def find_element(l,elment): for i in range(len(l)): if l[i]==elment: return iprint(find_element([1,2,3,4,5],3))print(find_element([1,2,3,4,5],5))2、[1,2,3,4,5]变为[5,1,2,3,4].方法1:a=[1,2,3,4,5]tem原创 2020-05-12 08:30:30 · 425 阅读 · 0 评论 -
写一个函数,这个函数要计算浮点数乘法的一万次相乘后的耗时,浮点数可以使用随机小数。
题目39、写一个函数,这个函数要计算浮点数乘法的一万次相乘后的耗时,浮点数可以使用随机小数。def count_float_compute_speed(n): import random import time start_time = time.time() for i in range(n): result=random.random()**2 end_time = time.time() return end_time-start_t原创 2020-05-08 23:40:48 · 366 阅读 · 0 评论 -
isinstance判断练习题---让我明白了isinstance的使用
题目38:add(a,b)要求有个值是result来存结果(1)a,b数字,相加(2)a,b如果是字符串,就当作字符串相加(3)a,b如果list,就当list相加知识点:if isinstance(a,str)判断a是不是字符串def add(a,b): if isinstance(a,str) and isinstance(b,str): result="" elif isinstance(a,(int,float)) and isinstance(原创 2020-05-08 23:37:55 · 406 阅读 · 0 评论 -
求一个字符串中的字母个数函数,需判断传入参数的类型。必须使用Ascii来判断是否字母。
题目36:求一个字符串中的字母个数函数,需判断传入参数的类型。必须使用Ascii来判断是否字母。def count_letter_num(s): if not isinstance(s,str): return None result = 0 for i in s: if (ord(i) >=ord("a") and ord(i) ...原创 2020-05-08 00:15:36 · 324 阅读 · 0 评论 -
python代码得到2个列表的交集与差集,不许用set
题目36:python代码得到2个列表的交集与差集,不许用set交集思路:遍历list1,判断是否再list2中,在的话,则存入一个列表中。差集思路:分别遍历list1和list2,如果不在对方的list中,则存入一个列表中。s1=[1,2,3,9,10]s2=[2,3,9,11]result=[]for i in s1: if i in s2: result....原创 2020-05-08 00:11:25 · 296 阅读 · 0 评论 -
找到列表中的第二大的数,可以用多种方法解决
题目35:找到列表中的第二大的数,可以用多种方法解决思路1:找到最大的,删除掉,再找最大的。s=[1,2,3,4,5,-1,-2]max_num=max(s)s.remove(max_num)max_num=max(s)print("第二大的元素是:",max_num)思路2:排好序找倒数第二个知识点:>>> s=[1,2,3,4,5,-1,-2]>...原创 2020-05-06 23:41:55 · 2022 阅读 · 0 评论 -
输入一个数,判断是不是素数
题目34:输入一个数,判断是不是素数封装方法:def is_prime(num): if not isinstance(num,int): return False for i in range(2,num): if num%i == 0: return False return Trueprint(is...原创 2020-05-05 23:19:54 · 1015 阅读 · 0 评论 -
遍历一个列表中的嵌套列表和元组的所有元素,将1-12的数字进行输出
题目33、遍历一个列表中的嵌套列表和元组的所有元素,将1-12的数字进行输出.[[[1,2,3],4,5],7,8,(9,10,(11,12))]s=[[[1,2,3],4,5],7,8,(9,10,(11,12))]for item in s: if isinstance(item,(list,tuple)): for i in item: ...原创 2020-05-04 22:46:07 · 1523 阅读 · 0 评论 -
使用while,计算随机数之和,超过100的时候,停止程序。随机数1-20的范围产生。要求记录一下产生的随机数,以及 最后的和,以及随机数的个数。
题目32:使用while,计算随机数之和,超过100的时候,停止程序。随机数1-20的范围产生。要求记录一下产生的随机数,以及 最后的和,以及随机数的个数。当你要执行次数不确定的时候,用while.执行的最大次数很明确的时候,推荐用for,用while,也可以。import randomresult=0random_num_list=[]while 1: random_num ...原创 2020-05-04 22:43:31 · 663 阅读 · 0 评论 -
猜数练习
题目31:随机生成一个整数,1-100之间。你最多猜5次,如果猜大了,提示大了,如果小了,提示小了,猜对了,提示猜中,5次都没猜中,就算没没猜中。import randomtarget_num = random.randint(1,100)for i in range(5): user_input_num = int(input("请输入你猜的数字:")) if target...原创 2020-05-04 22:39:51 · 265 阅读 · 0 评论 -
实现一个函数,在一句话中查找某个单词的算法,存在返回索引号,否则返回False.
题目30:自己实现一个函数,在一句话中查找某个单词的算法,存在返回索引号,否则返回False.提示:使用坐标遍历句子的每一个位置。使用查找单词的长度结合使用切片来查找单词;例如 s=[i:i+len(单词)]遍历字符串:1、直接取字符2、基于位置遍历知识点:Len查看学列长度:>>> len("123")3>>> len([1,2,3])3&...原创 2020-05-04 22:34:27 · 743 阅读 · 0 评论 -
设定一个用户名和一个密码,用户输入正确的用户名和密码,则显示登录成功,否则显示登录失败
题目29:设定一个用户名和一个密码,用户输入正确的用户名和密码,则显示登录成功,否则显示登录失败。用户最多失败3次,否则退出程序。提示:使用while或者for来限定重试次数,使用input获取用户输入使用==判断用户的用户名和密码。方法1for:user_name_in_system="root"user_passwd_in_system="root123"for i in ran...原创 2020-05-04 22:29:05 · 34244 阅读 · 0 评论 -
随机生成数字或字母的密码以及数字和字母的密码
题目27:1、生成9位数字的密码import randompass_wd=""for i in range(9): pass_wd+=chr(ord("0")+random.randint(0,9))print(pass_wd)"0123456789"[random.randint(0,9)]chr(ord("0")+random.randint(0,9))2、...原创 2020-05-03 23:39:00 · 1559 阅读 · 0 评论 -
对三个数字进行正/倒排序
题目26:对三个数字进行排序l=[1,2,3]a=max(l)l.remove(a)b=max(l)l.remove(b)c=l[0]print(a,b,c)方法1倒序:a=int(input("请输入数字a:"))b=int(input("请输入数字b:"))c=int(input("请输入数字c:"))result=[]if a>b: if a>...原创 2020-05-03 23:28:07 · 482 阅读 · 0 评论 -
求list中最大的元素
题目25:求list中最大的元素方法1:a=[1,2,3,4,5]max_num=a[0]for i in a: if i >max_num: max_num=iprint(max_num)方法2:a=[1,2,3,4,5]def max(a):#找出列表中的最大值 max_num=a[0] for i in a: ...原创 2020-05-03 22:50:27 · 2330 阅读 · 0 评论 -
把字符串“a1b2c3b4d577777aab”中的所有数字都删除掉
题目24:把字符串“a1b2c3b4d577777aab”中的所有数字都删除掉。方法1:s="a1b2c3b4d577777aab"non_digit_list=[]for i in s: if i not in "0123456789": non_digit_list.append(i)print("".join(non_digit_list))方法2:...原创 2020-05-03 22:36:07 · 351 阅读 · 0 评论 -
正序排列列表/反序迭代一个序列
简单面试编程题:1、正序排列列表a=[1,12,16,19,6,4,2,66,33,87]len=len(a)for i in range(len): for k in range(len-i-1): if (a[len-i-1]) < a[len-i-k-2]: a[len-i-k-2],a[len-i-1] = a[len-i-1]...原创 2020-05-02 23:29:45 · 549 阅读 · 0 评论 -
找出s=”aabbccddxxxxffff”中,出现次数最多的字母。
题目22:(1)找出s=”aabbccddxxxxffff”中,出现次数最多的字母#encoding=utf-8s="aabbccddxxxxffff"max_occurence_times_letters = []max_occurence_times=0for i in s: if s.count(i) > max_occurence_times: m...原创 2020-05-01 22:27:18 · 1283 阅读 · 0 评论 -
倒叙取出每一个单词的第一个字母,I am a good boy!
题目21:倒叙取出每一个单词的第一个字母,I am a good boy!方法1:#encoding=utf-8s="I am a good boy"result=[]for i in s.split()[::-1]: result.append(i[0])print(result) 方法2:#encoding=utf-8s="I am a good boy"s...原创 2020-05-01 22:13:19 · 232 阅读 · 0 评论 -
一个list包含10个数字,然后生成新的list,新的list里面的数,都比之前多1.
题目20:一个list包含10个数字,然后生成新的list,新的list里面的数,都比之前多1.#encoding=utf-8a=[1,2,3,4,5,6,'a','b']result=[]for i in a: if isinstance(i,(int,float)): result.append(i+1) else: result.a...原创 2020-05-01 22:10:15 · 599 阅读 · 0 评论 -
26个字母大小写成对打印,例如:Aa,Bb、、、、、
题目20:26个字母大小写成对打印,例如:Aa,Bb、、、、方法1:#encoding=utf-8for i in range(26): print(chr(ord("A")+i),chr(ord("a")+i))方法2:=#encoding=utf-8for i in range(65,91):print(chr(i),chr(i+32))...原创 2020-05-01 22:08:31 · 590 阅读 · 0 评论