
python入门100道
有大把头发的程序员
开开心心,编程
展开
-
python基础100题第二十九题
题目:一个5位数, 判断它是不是回文数。 即12321是回文数, 个位与万位相同,十位与千位相同。程序分析:可以参考第28题。然后再用if条件语句进行条件判断。代码:# 程序31'''题目:一个5位数, 判断它是不是回文数。 即12321是回文数, 个位与万位相同,十位与千位相同。程序分析:可以参考第28题。用if条件语句进行条件判断'''num = input('请输入一个不多于5位的正整数:')print('-'*15, '这是几位数', '-'*原创 2021-12-12 13:02:40 · 449 阅读 · 0 评论 -
python基础100题第二十八题
题目:给一个n位的正整数;要求:一、求它是几位数, 二、逆序打印出各位数字。程序分析:先用len()求长度,就是几位数,input()输入是字符串形式,可以利用切片,下标来求解,可以将输入转为列表,再利用函数reverse()来反转求逆。代码:# 程序28'''题目:给一个n位的正整数;要求:一、求它是几位数, 二、逆序打印出各位数字。程序分析:先用len()求长度,就是几位数,input()输入是字符串形式,可以利用切片,下标来求解,可以将输入转为列表,再利用函数原创 2021-12-11 20:48:59 · 337 阅读 · 0 评论 -
python基础100题第二十七题
题目:有5个人坐在一起,问第5个人多少岁?他说比第4个人大2岁;问第4个人岁数,他说比第3个人大2岁;问第3个人,又说比第2人大2岁;问第2个人, 说比第1个人大2岁;最后问第1个人,他说是10岁。请问第五个人多大?程序分析:逆着推理:10 12 14 16 18;使用递归方法2,递归函数,进行的则运算 来自return返回的值,所以return要保持是int类型,不可以加字符串,否则报错 type + int错误。代码:# 程序27'''题目:有5个人坐在原创 2021-12-11 19:21:13 · 617 阅读 · 0 评论 -
python基础100题第二十六题
题目:利用递归函数调用方式, 将所输入的 5, 以相反顺序打印出5 4 3 2 1程序分析:主要练习递归原理,与第二十四题差不多。https://blog.youkuaiyun.com/m0_62979532/article/details/121876742https://blog.youkuaiyun.com/m0_62979532/article/details/121876742代码:(5 4 3 2 1 )# 程序26'''题目:利用递归函数调用方式, 将所输入的 5, 以相反顺序打印原创 2021-12-11 18:44:45 · 104 阅读 · 0 评论 -
python基础100题第2二十五题
题目:利用递归方法求5!。程序分析:递归公式: fn=fn_l*4!代码:# 程序25'''题目:利用递归方法求5!。程序分析:递归公式: fn=fn_l*4!'''def fact(n): """使用递归计算n阶乘""" if n == 0: sum1 = 1 # !!!递归的出口!!!! else: sum1 = 1 sum1 = n * fact(n - 1) retu原创 2021-12-11 18:21:33 · 214 阅读 · 0 评论 -
python基础100题第二十四题
题目:求 1+2!+3!+…+20!的和程序分析:累加和,每一个都是阶乘,利用两次for 循环代码:# 程序24'''题目:求 1+2!+3!+…+20!的和程序分析:累加和,每一个都是阶乘,利用for 循环'''def di_ji_shu(num): s = 0 for n in range(1, num+1): a = 1 for i in range(1, n+1): a *= i原创 2021-12-09 13:34:35 · 379 阅读 · 0 评论 -
python基础100题第二十三题
题目:求分数序列: 2/1, 3/2, 5/3, 8/5, 13/8, 21/13..求出这个数列的前20项之和。程序分析:分母规律:为前一个分数的分子分子规律:为前一个分数分子分母之和代码:# 程序23'''题目:求分数序列: 2/1, 3/2, 5/3, 8/5, 13/8, 21/13..求出这个数列的前20项之和。程序分析:分母规律:为前一个分数的分子分子规律:为前一个分数分子分母之和'''a = 1b = 2S = 0for n in rang.原创 2021-12-09 13:04:44 · 528 阅读 · 0 评论 -
python基础100题第二十二题
题目:打印一个心图形代码:def hittyday(a,b=2): print('\n'.join([''.join([(a[(x-y) % len(a)] if((x*0.04)**2+(y*0.1)**2-1)**3-(x*0.04)**b*(y*0.1)**3 <= 0 else ' ') for x in range(-30,30)])\ for y in range(30,-12,-1)]))hittyday('Love')结果:原创 2021-12-08 11:23:27 · 119 阅读 · 0 评论 -
python基础100题第二十一题
题目:两个乒乓球队进行比赛, 各出三人。 甲队为a,b,c三人, 乙队为x,y,z三人。 已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比, 请编程找出三队赛手的名单。程序分析:a 和z b和x c与y(但是需要用计算机逻辑来实现,而不是我们的分析,让计算机自己分析)代码:#程序21'''题目:两个乒乓球队进行比赛, 各出三人。 甲队为a,b,c三人, 乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和原创 2021-12-08 10:36:19 · 400 阅读 · 0 评论 -
python基础100题第二十题
问题:猴子第一天摘下若干个桃子, 当即吃了一半,还不瘾, 又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时, 见只剩下一个桃子了。求第一天共摘了多少。程序分析:倒着分析法:从第十天早上1一个,九天就是 =(第十天+1)*2 第八天 = (第九天+1)*2代码:#程序20'''猴子吃桃问题:猴子第一天摘下若干个桃子, 当即吃了一半,还不瘾, 又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃.原创 2021-12-07 11:29:28 · 455 阅读 · 0 评论 -
python基础100题第19题
题目:一球从100 米高度自由落下, 每次落地后反跳回原高度的一半再落下求第10次落地时, 共经过多少米?第10次反弹多高?程序分析:第一次在50m处,假设50 + 50*2 25*2 12*2 依次类推代码:#程序19'''题目:一球从100 米高度自由落下, 每次落地后反跳回原高度的一半再落下求第10次落地时, 共经过多少米?第10次反弹多高?程序分析: 第一次在50m处,假设50 + 50*2 25*2 12*2 依次类推'''Sn = 10...原创 2021-12-07 11:21:41 · 165 阅读 · 0 评论 -
python基础100题第十八题
题目:一个数如果恰好等千它的因子之和, 这个数就称为 “ 完数 “。例如6=1+2+3编程 找出1000以内的所有完数。程序分析:case14 ##程序14https://blog.youkuaiyun.com/m0_62979532/article/details/121706212代码:#程序18'''题目:一个数如果恰好等千它的因子之和, 这个数就称为 “ 完数 “。例如6=1+2+3编程找出1000以内的所有完数。程序分析:case14 ##程序14'''print('-'.原创 2021-12-05 16:39:04 · 313 阅读 · 0 评论 -
python基础100题第十七题
题目:求s=a+aa+aaa+aaaa+aa…a的值, 其中a是一个数字。 例如2+22+222+2222+22222(此时求共有5个数相加), 几个数相加有键盘控制。代码:#程序17'''题目:求s=a+aa+aaa+aaaa+aa…a的值, 其中a是一个数字。 例如2+22+222+2222+22222(此时求共有5个数相加), 几个数相加有键盘控制。'''def sum_num(n, a): sum = [n] count_sum = 0 i =原创 2021-12-05 15:46:41 · 596 阅读 · 0 评论 -
python基础100题第十六题
题目:输入一串字符,分别统计其中英文字母、空格、数字的个数程序分析:使用函数:isdigit() 、 isspace()、isalpha()代码:#程序16'''题目:输入一串字符,分别统计其中英文字母、空格、数字的个数程序分析:使用函数:isdigit() 、 isspace()、isalpha()'''def pan_duan_str(words): digit = [] letter = [] # letter: 字母 spac原创 2021-12-04 14:42:48 · 119 阅读 · 0 评论 -
python 基础100题第十五题
题目:学习成绩>=90 分的同学用 A 表示,60-89 分之间的用 B 表示,60 分以下的用 C 表示。代码:#程序15'''题目:利用条件运算符的嵌套来完成此题:学习成绩>=90 分的同学用 A 表示, 60-89 分之间的用 B 表示,60 分以下的用 C 表示。'''def grade(studengt_grade): if studengt_grade >= 90: print(studengt_grade, "该学生属于A类原创 2021-12-04 14:22:29 · 127 阅读 · 0 评论 -
python基础100题第十四题
题目:将一 个正整数分解质因数 。例如:输入90,打印出90=2* 3* 3* 5。程序分析:对n进行分解质因数,应先找到一 个最小的质数 k, 然后按下述步骤完成:(1)如果这个质数恰等于n, 则说明分解质因数的过程已经结束, 打印出即可。(2 )如果n != k, 但n能被K整除, 则应打印出k的值, 并用n除以k的商,作为新的正整数你n,重复执行第一步。(3 )如果n不能被K整除, 则用k+l作为K的值,重复执行第一步。代码:#程序13'''题目:将一 个正整数原创 2021-12-03 20:12:52 · 137 阅读 · 0 评论 -
python基础100题第十三题
题目:打印出所有的 “ 水仙花数 ”,所谓 “水仙花数 ”是指一 个三位数, 其各位数字立方和等于该数 本身。例如:153是一个 “水仙花数 ”,因为153= 1^3+5^3+3^3= 1 + 125 +9程序分析:利用for循环控制100-999 个数, 每个数分解出个位, 十位, 百位 。代码:#程序13'''题目:打印出所有的 “ 水仙花数 ”,所谓 “水仙花数 ”是指一 个三位数, 其各位数字立方和等于该数本身。例如:153是一个 “水仙花数 ”,因为原创 2021-12-03 19:25:20 · 476 阅读 · 0 评论 -
python基础100题第十二题
题目:判断 101-500 之间有多少个素数, 并输出所有素数。数学知识普及:质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除,换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数。根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积;而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的。最小的质数是2。程序分析:判断素数的方法: 用一个数分别去除原创 2021-12-02 12:53:47 · 1898 阅读 · 0 评论 -
python基础100题第十一题
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子, 小兔子长到第三个月后每个月又生一对兔子, 假如兔子都不死, 问每个月的兔子总数为多少?程序分析:兔子的规律为数列 1,1,2,3,5,8,13,21 后一个月为前两个月之和第1个月 1对 = 总和1对第2个月 1对 = 总和1对第3个月 1对+1对新生 = 总和2对第4个月 2对+1对新生 = 总和3对第5个月 3对+2对新生 = 总和5对第6个月 5对+3对新生 = 总和8对第7个月 ...原创 2021-12-02 10:31:26 · 377 阅读 · 0 评论 -
python基础100题第十题
题目:打印踏步程序分析:用i控制行,j控制列,j根据i的变化来控制输出的黑方格的个数,也可参照99表代码:#程序10'''题目:打印楼梯踏步程序分析:用i控制行,j控制列,j根据i的变化来控制输出的黑方格的个数'''import sysfor i in range(1, 11): for j in range(1, i): sys.stdout.write(chr(219)) sys.stdout.write(chr(219))原创 2021-12-01 06:45:00 · 120 阅读 · 0 评论 -
python基础100题第九题
题目:要求输出国际象棋棋盘程序分析:棋盘如图所示,黑白格子。用 i 控制行, j 来控制列,根据 i+j 的和的变化来控制输出黑方格,还是白方格。代码:#程序9''''题目:要求输出国际象棋棋盘。程序分析:用 i 控制行, j 来控制列,根据 i+j 的和的变化来控制输出黑方格,还是白方格。'''import sysfor i in range(8): for j in range(8): c = i + j i.原创 2021-12-01 14:00:00 · 221 阅读 · 0 评论 -
python基础100题第八题
题目:九九乘法表代码:#程序8'''99表'''for i in range(1, 10): for j in range(1, i+1): c = i*j print(f'{i}X{j}={c}\t',end=' ') print()结果:1X1=1 2X1=2 2X2=4 3X1=3 3X2=6 3X3=9 4X1=4 4X2=8 4X3=12 4X4=16 5X1=5 5X2=10 5X3=原创 2021-11-30 10:39:50 · 373 阅读 · 0 评论 -
python基础100题第七题
题目:输出特殊图案,看一看 程序分析: 字符共有256个。 不同字符, 图形不一样。程序分析:chr()函数,0~255个字符。每个都不一样。代码:a = 108b = 20print(chr(b), chr(a), chr(a), chr(a), chr(b))print(chr(a), chr(b), chr(a), chr(b), chr(a))print(chr(a), chr(a), chr(b), chr(a), chr(a))print(chr(a),原创 2021-11-30 10:36:55 · 323 阅读 · 0 评论 -
python基础100题第六题
题目:用*号输出字母 C 的图案。程序分析:在纸上写出图案分析代码:#程序6'''题目:用*号输出字母 C 的图案。程序分析:可先用'*'号在纸上写出字母 c, 再分行输出'''print(' ' + '*' * 10)for i in range(5): print('* *')print(' ' + '*' * 10)结果: *********** ** ** ** ** * **********触类旁通:99表代码原创 2021-11-29 09:22:04 · 409 阅读 · 0 评论 -
python基础100题第五题
题目:一个整数, 它加上 100 后是一个完全平方数,再加上 268 又是一个完全平方数,请问该数是多少?程序分析:在 10 万以内判断,先将该数加上 100 后再开方,再将该数加上 268 后再开方, 如果开方后的结果满足如下条件, 即是结果。...原创 2021-11-29 08:54:50 · 2071 阅读 · 0 评论 -
python基础100题第四题
题目:输入某年某月某日, 判断这一天是这一年的第几天?程序分析:以11月28日为例, 应该先把前10个月的加起来,然后再加上 18天即本年的第几 天, 特殊悄况, 闰年且输入月份大于3时需考虑多加一天(二月之后的)。代码:#程序4'''输入某年某月某日, 判断这一天是这一年的第几天?程序分析:以3 月 5 日为例, 应该先把前两个月的加起来,然后再加上 5 天即本年的第几 天, 特殊悄况, 闰年且输入月份大于3时需考虑多加一天。'''year = int(inpu.原创 2021-11-28 11:42:04 · 112 阅读 · 0 评论 -
python基础100题第三题
题目:一个整数, 它加上 100 后是一个完全平方数,再加上 268 又是一个完全平方数,请问该数是多少?程序分析:导入模块math,在 10 万以内判断,先将该数加上 100 后再开方,再将该数加上 268 后再开方, 如果开方后的结果满足如下条件, 即是结果。代码:#程序3'''一个整数, 它加上 100 后是一个完全平方数,再加上 268 又是一个完全平方数,请问该数是多少?程序分析:在 10 万以内判断,先将该数加上 100 后再开方,再将该数加上 268 后再开原创 2021-11-28 11:14:33 · 437 阅读 · 0 评论 -
python基础100题第二题
题目:企业发放的奖金根据利润提成。利润(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, 求应发放奖金总数?程序分析:将奖金等级分级,利用if elif el原创 2021-11-27 22:04:06 · 370 阅读 · 0 评论 -
python基础100题第一题
题目:有1、 2、 3、 4个数字, 能组成多少个互不相同且无重复数字的三位数?都是多少?程序分析:可填在百位、 十位、 个位的数字都是1、 2、 3、 4。 组成所有的排列后再去掉不满足条件的排列,并计算有多少个这样的数代码:#程序1'''有1、 2、 3、 4个数字, 能组成多少个互不相同且无重复数字的三位数?都是多少?程序分析: 可填在百位、 十位、 个位的数字都是1、 2、 3、 4。 组成所有的排列后再去掉不满足条件的排列,并计算有多少个'''原创 2021-11-27 21:34:11 · 294 阅读 · 0 评论