![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
pyhon版_数据结构与算法面试合集
文章平均质量分 77
数据结构与算法面试题
JSon liu
分享一些个人的工作经历和成长历程。
展开
-
键盘输入一个四位数的整数,分别获取各个位数的值
'''键盘输入一个四位数的整数,分别获取各个位数的值'''num = int(input('请输入一个四位数任意整数:')qian_wei = num%1000shi_wei = num%1000//100bai_wei = num%1000//10ge_wei = num%10print('个位:{},十位:{},百位:{},千位:{}).format(ge_wei,shi_wei,bai_wei,qian_wei)...原创 2020-10-23 07:55:50 · 6565 阅读 · 0 评论 -
python实现100~1000水仙花数输出
python实现100~1000水仙花数输出massage = """求100-999 所有的"水仙花数"。所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。 例如: 153 是一个"水仙花数",153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数"""l = []for i in range(100,1000): a = i // 100 b = (i%100) // 10 c = i % 10 if a**3 + b**3 +原创 2020-09-20 08:36:56 · 3546 阅读 · 0 评论 -
python实现改数字
python实现改数字massage = ‘’’把一个数每位的数变成0或1。如果某一位是奇数,就把它变成1,如果是偶数,那么就把它变成0。最后得到的数是多少。输入描述:输入包含一个整数n (0 ≤ n ≤ 109)输出描述:输出一个整数,即修改后得到的数字。‘’’s = input()li = []for ss in s:if int(ss)%2 == 0:li.append(‘0’)else:li.append(‘1’)a = “”.join(li)print(int(a)原创 2020-09-19 00:38:27 · 913 阅读 · 0 评论 -
python实现整数去重并排序
massage = '''题目描述给定一个整数序列,KiKi想把其中的重复的整数去掉,并将去重后的序列从小到达排序输出。输入描述:第一行,输入一个整数n,表示序列有n个整数。第二行输入n个整数(每个整数大于等于1,小于等于1000),整数之间用空格分隔。输出描述:去重并且从小到大排列的整数序列,整数之间用空格分隔。'''n = int(input())l = map(int, input().split())new_l = sorted(set(l))for i in new_l:.原创 2020-09-19 00:39:49 · 3136 阅读 · 0 评论 -
python实现用“*”组成的反斜线形图案。
打印用“*”组成的反斜线形图案。while True: try: n = int(input()) for i in range(n): print(' '*i + '*' + ' '*(n-i-1)) except: break'''6* * * * * *'''原创 2020-09-18 10:59:35 · 382 阅读 · 0 评论 -
python实现用“*”实现K形图案
python实现用“*”实现K形图案massage = '''打印用“*”组成的K形图案。输入描述:多组输入,一个整数(2~20)。输出描述:针对每行输入,输出用“*”组成的K形,每个“*”后面有一个空格。'''while True: try: n = int(input()) for i in range(n): print('* '*(n-i+1)+' '*i) for i in range(n+1):原创 2020-09-18 10:57:15 · 566 阅读 · 0 评论 -
python实现用数字组成的数字三角形图案。
python实现用数字组成的数字三角形图案。massage = '''打印用数字组成的数字三角形图案。输入描述:多组输入,一个整数(3~20),表示数字三角形边的长度,即数字的数量,也表示输出行数。输出描述:针对每行输入,输出用数字组成的对应长度的数字三角形,每个数字后面有一个空格。'''while True: try: n = int(input()) for i in range(n): for j in range(1,i原创 2020-09-18 10:52:48 · 8509 阅读 · 0 评论 -
python实现逆序一行输出输入的10个整数
massage = '''题目描述输入10个整数,要求按输入时的逆序把这10个数打印出来。逆序输出,就是按照输入相反的顺序打印这10个数。输入描述:一行,输入10个整数(范围-231~231-1),用空格分隔。输出描述:一行,逆序输出输入的10个整数,用空格分隔。'''n = input().split()n1 = n[::-1]print(' '.join(n1))# a = list(map(int,input().split()))# #sorted(a,reverse=T.原创 2020-09-18 10:49:40 · 7448 阅读 · 0 评论 -
python实现翻转金字塔图案
python实现翻转金字塔图案massage = '''打印用“*”组成的翻转金字塔图案。输入描述:多组输入,一个整数(2~20),表示翻转金字塔边的长度,即“*”的数量,也表示输出行数。输出描述:针对每行输入,输出用“*”组成的金字塔,每个“*”后面有一个空格。'''while True: try: n = int(input()) for i in range(n): print(' '*i + '* '*(n - i) +原创 2020-09-18 10:46:21 · 3358 阅读 · 0 评论 -
python实现变种水仙花
python实现变种水仙花massage = '''变种水仙花数 - Lily Number:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是一个Lily Number。例如:655 = 6 * 55 + 65 * 51461 = 1*461 + 14*61 + 146*114610 = 1*4610 +14*610 +146*10 +1461*1求出 5位数中的所有 Lily Numbe原创 2020-09-18 10:40:51 · 127 阅读 · 0 评论 -
输出包含9的数字
输出包含9的数字massage = '''题目描述包含数字的数是指有某一位是“9”的数,例如“2019”、“199”等。输入描述:无输出描述:一行,一个整数,表示1~2019中共有多少个数包含数字9。'''n = 0for i in range(1,2020): i1 = str(i) if "9" in i1: n +=1print(n)...原创 2020-09-18 10:35:00 · 355 阅读 · 0 评论 -
实现直角三角形
python实现直角三角形massage = """打印用“*”组成的直角三角形图案。输入描述:多组输入,一个整数(2~20),表示直角三角形直角边的长度,即“*”的数量,也表示输出行数。输出描述:针对每行输入,输出用“*”组成的对应长度的直角三角形,每个“*”后面有一个空格。"""while True: try: n = int(input()) for i in range(n): print('* '*(i+1))原创 2020-09-18 10:35:43 · 378 阅读 · 0 评论 -
python实现金字塔图案
python实现金字塔图案massage = '''打印用“*”组成的金字塔图案。输入描述:多组输入,一个整数(2~20),表示金字塔边的长度,即“*”的数量,也表示输出行数。输出描述:针对每行输入,输出用“*”组成的金字塔,每个“*”后面有一个空格。'''while True: try: n = int(input()) for i in range(n): print(' ' * (n - i-1) + '* ' * (i原创 2020-09-17 10:40:36 · 6595 阅读 · 0 评论 -
python实现翻转直角三角形
python实现翻转直角三角形massage = '''打印用“*”组成的翻转直角三角形图案。输入描述:多组输入,一个整数(2~20),表示翻转直角三角形直角边的长度,即“*”的数量,也表示输出行数。输出描述:针对每行输入,输出用“*”组成的对应长度的翻转直角三角形,每个“*”后面有一个空格。'''while True: try: n = int(input()) for i in range(n): print('* '*(n原创 2020-09-17 10:37:53 · 5005 阅读 · 0 评论 -
python实现三角形判断
python实现三角形判断massage = '''已经给出三条边a,b,c,能否构成三角形,如果能构成三角形,判断三角形的类型(等边三角形、等腰三角形或普通三角形)。输入描述:题目有多组输入数据,每一行输入三个a,b,c(0<a,b,c<1000),作为三角形的三个边,用空格分隔。“三角形两边之和大于第三边,两边只差小于第三边”输出描述:针对每组输入数据,输出占一行,如果能构成三角形,等边三角形则输出“Equilateral triangle!”,等腰三角形则输出“Isoscel原创 2020-09-17 10:36:13 · 4533 阅读 · 0 评论 -
有序序列合并
有序序列合并massage = '''题目描述输入两个升序排列的序列,将两个序列合并为一个有序序列并输出。输入描述:输入包含三行,第一行包含两个正整数n, m(1 ≤ n,m ≤ 100),用空格分隔。n表示第二行第一个升序序列中数字的个数,m表示第三行第二个升序序列中数字的个数。第二行包含n个整数(范围1~5000),用空格分隔。第三行包含m个整数(范围1~5000),用空格分隔。输出描述:输出为一行,输出长度为n+m的升序序列,即长度为n的升序序列和长度为m的升序序列中的元素重新进原创 2020-09-17 10:29:10 · 512 阅读 · 0 评论 -
python实现序列整数去重
python实现序列整数去重massage = '''题目描述输入n个整数的序列,要求对这个序列进行去重操作。所谓去重,是指对这个序列中每个重复出现的整数,只保留该数第一次出现的位置,删除其余位置。输入描述:输入包含两行,第一行包含一个正整数n(1 ≤ n ≤ 1000),表示第二行序列中数字的个数;第二行包含n个整数(范围1~5000),用空格分隔。输出描述:输出为一行,按照输入的顺序输出去重之后的数字,用空格分隔。'''n = int(input())l = list(map(in原创 2020-09-17 10:25:14 · 2301 阅读 · 0 评论 -
python实现杨辉三角
python实现杨辉三角massage = '''杨辉三角,本质上是二项式(a+b)的n次方展开后各项的系数排成的三角形。其性质包括:每行的端点数为1, 一个数也为1;每个数等于它左上方和上方的两数之和。'''l = [[0] * i for i in range(1, 31)]for i in range(30): for j in range(i + 1): if j == 0 or i == j: l[i][j] = 1 els原创 2020-09-17 10:19:57 · 190 阅读 · 0 评论 -
python实现:将一个四位数反向输出
python实现:将一个四位数反向输出massage = '''将一个四位数,反向输出'''N = input()print(N[::-1])# 输入: 1245# 输出 :5421原创 2020-09-17 01:55:22 · 11410 阅读 · 2 评论 -
python_冒泡算法(写法3)
用python实现冒泡算法(写法3)l = list(map(int,input("请输入一个需要排序的列表:").split(' ')))# print(l)i = 0for i in range(len(l)-1): for j in range(len(l)-1-i): if l[j] > l[j+1]: l[j+1],l[j] = l[j],l[j+1]print(l)...原创 2020-09-15 08:53:47 · 175 阅读 · 0 评论 -
打印与行号相等的*
打印与行号相等的*"""***************"""# 重复打印5行星星# i表示行号i = 0while i<5: # 一行星星的打印 j = 0 # j表示每行里面星星的个数,这个数字要和行号相等所以i要和j联动 while j<i+1: print('*',end='') j += 1 print() i += 1...原创 2020-09-15 08:41:11 · 105 阅读 · 0 评论 -
python_用while打印5*5的星星
while_打印5*5的星星*************************# 重复打印5行星星i = 1while i <6: j = 1 while j<6: # 一行星星的打印 # 一行内的星星不能换行,取消print默认结束符\n print('*',end='') j +=1 # 每行结束要换行,这里借助一个空的print,利用print默认结束符换行 print()原创 2020-09-14 10:45:56 · 2978 阅读 · 0 评论 -
python语言_冒泡排序(书写方式2)
python语言_冒泡排序(书写方式2)num = [1,5,10,58,12,2]for i in range(len(num)-1): for j in range(len(num)-1-i): #剩余两两进行比较的次数 if num[j]<num[j+1]: num[j+1],num[j] = num[j],num[j+1]print(num)原创 2020-09-14 09:46:20 · 99 阅读 · 0 评论 -
python实现波非那切数列
python实现波非那切数列菲波那切数列 1,1,2,3,5,8,13,21,34def fib(lenght): a, b = 0, 1 n = 0 while n < lenght: yield b a,b = b,a+b n += 1g = fib(9)print(next(g),end=' ')print(next(g),end=' ')print(next(g),end=' ')print(next(g原创 2020-09-14 09:54:41 · 618 阅读 · 0 评论 -
python语言_冒泡排序(书写方式1)
python语言_冒泡排序[9, 999, 90, 10, 1000, 9999] 第1趟[9, 90, 10, 999, 1000, 9999] 第2趟[9, 10, 90, 999, 1000, 9999] 第3趟[9, 10, 90, 999, 1000, 9999] 第4趟[9, 10, 90, 999, 1000, 9999] 第5趟[9, 10, 90, 999, 1000, 9999] 第6趟l = [999,9,9999,90,10,1000]for i in range(原创 2020-09-14 09:15:58 · 137 阅读 · 0 评论 -
python语言_打印99乘法表
打印99乘法表1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64原创 2020-09-14 08:58:08 · 119 阅读 · 0 评论 -
python语言_打印等边三角形
打印等边三角形 * * * * * * * * * * * * * * *for i in range(1, 6): for j in range(1, 6 - i): print(" ", end='') for k in range(1, i + 1): print("* ", end='') print()原创 2020-09-14 08:49:52 · 2492 阅读 · 0 评论