python小实例
python经典小案例
python小明
bug虐我千百遍,我待bug如初恋!
展开
-
低到高输出正整数的各个位数字(python)实现
'''任给十进制的正整数,请从低位到高位逐位输出各位数字''''''循环算法设计: (1)、求个位数字的算式:n % 10 (2)、为了保证循环体为“不变式”,算式仍用n % 10,所以就要将算式改为n = n//10,将n的十位变成个位'''#循环算法:import sysdef main1(): a = ["个位:","十位:","百位:","千位:","万位:","十万位:","百万位:","千万位","亿位:","十亿位:","百亿位:","千亿位:","万亿位:原创 2020-11-23 18:56:31 · 4041 阅读 · 0 评论 -
n个自然数中取出r个数字的排列组合(python)实现
'''找出n个自然数(1,2,3,4,...,n)取出r个数的组合例:当n=5时,r=3时,所有组合为:1 2 3;1 2 4;1 2 5;1 3 4;1 3 5;1 4 5;2 3 4;2 3 5;2 4 5;3 4 5;''''''循环算法设计: 分析以上组合实例,5个数种取出3个数的10组组合,其中魅族三个数由两个特点: (1)、三个数都互不相同 (2)、前面的数小于后面的数 因此可以用3层循环模拟每个组合种的3个数,原创 2020-11-23 19:13:24 · 2916 阅读 · 2 评论 -
二维矩阵的行列互换(求矩阵的转置Python实现)
a = [ [1,2,3], [4,5,6], [7,8,9],]'''方法一:通过列表推导式来实现'''b1 = [[row[col] for row in a] for col in range(len(a[0]))]print('b1:',b1)'''方法二:通过内置函数zip()来实现'''b2 = list(zip(*a))print('b2',b2)运行结果:[[1, 4, 7], [2, 5, 8], [3, 6, 9]][(1, 4, 7),原创 2021-03-22 16:39:16 · 3115 阅读 · 0 评论 -
用2的幂次方表示任何一个正整数(python)实现
'''任何一个正整数都可以用2的幂次方表示,例如137 =2^7 + 2^3 + 2^0,a^b表示为a(b),即:137 = 2(7) + 2(3) +2(0)。现输入正整数n < 20000,输出符合约定的n的0,2表示(在表示中不能有空格)''''''算法设计: 由于不知道数据的位数,加上对数据还是从低位到高位的操作比较简单,而输出显然是由高位发哦低位的,所以考虑用递归的方法来实现算法。 (1)、应该在递归之后进行输出操作 (2)、为了记录递归的深度,也就是2的指数,.原创 2020-11-23 19:07:43 · 2408 阅读 · 0 评论 -
高到底输出正整数的各个位数字(python)实现
'''任给十进制正整数,请从高位到低位输出各个位上的数字''''''循环算法设计: 该题是从高位到低位输出,我们只需要从低位算,用数组存储结果,最后倒着输出就行'''#循环算法:import sysdef main1(): n = int(input("请输入n的值(注:n的值不能超过19位,python中int的最大位数):")) a = [] while (n > 10 and n < sys.maxsize): a.append原创 2020-11-23 19:01:52 · 3570 阅读 · 0 评论