![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python菜鸟教程100题
、 stargazer °
这个作者很懒,什么都没留下…
展开
-
python基础教程100例题: 33 --- 38
33、题目:按逗号分隔列表。l = [5,9,8,7]','.join(str(i) for i in l)34、题目:练习函数调用。程序分析:使用函数,输出三次 RUNOOB 字符串。def runoob(i): return print('RUNOOB' * i)runoob(3)35、题目:文本颜色设置。\ 033 [显示方式;字体色(前景色);背景色m ...... [\ 033 [0m]这就是修改输出语句的样式的设置语句。可以直接输出;也可...原创 2021-12-06 21:07:21 · 706 阅读 · 0 评论 -
python基础教程100例题: 31&32
31、题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。 这个题很简单,就是用 if……elif……条件语句进行判断。week = input('星期几:Su M Tu W Th F Sa:')if week[0] == 'S': if week[1] == 'u': print('Sunday') else: print('Saturday')elif week[0] == 'M':...原创 2021-12-04 20:40:06 · 312 阅读 · 0 评论 -
python基础教程100例题: 29&30
29、题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。30、题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。 今天这两个题可以放在一起,首先可以总体进行分析。首先要了解一个数字是如何被拆分的,也就是如何找到一个数字的每一个位数。我们直接从程序开始讲,以五位数为例。个位:数字 s 除以 10 的余数,然后接下来的每一步该数都除以 10 ,保留商,然后再 除以 10 的余数就分别是十位,百位,千位,最后到...原创 2021-12-03 22:02:57 · 802 阅读 · 0 评论 -
python基础教程100例题: 27&28 (递归)
27、题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。 采用递归的方法,先设置初始值。l 为字符串的长度。当 l <= 0 时,输出空字符。否则,输出 s 的第 l 个字符,其他字符是上一次递归的结果。def reverse(s,l): if l <= 0: return '' else: l = l - 1 return s[l]+str(reverse(s,l)) ...原创 2021-12-02 15:53:27 · 692 阅读 · 0 评论 -
python基础教程100例题: 25&26
25、题目:求1+2!+3!+...+20!的和这个题就是运用了二重循环。大循环是让乘积的式子从 1 到 20,小循环表示 对大循环的每一个 n 都求它的阶乘。最后输出结果即可。a = 1sum = 0for n in range(1,21): for i in range(1,n+1): a = a * i sum += a a = 1print(sum)26、题目:利用递归方法求 5!这道题给我们一个限制,就是必...原创 2021-12-01 21:44:59 · 471 阅读 · 0 评论 -
python基础教程100例题: 23&24 (lambda reduce)
24、题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。 本题主要是找规律:发现后一个数字的分母,恰好是前一个数字的分子。所以关键问题是如何判断分子。单独看分子的规律是2,3,5,8,13也就是每一个数字都是前一个数字的分子和分母的和。设置初始值,第一个分数的分子分母设为 a = 2, 分母设为 b = 1 ,所以每一步循环就是求 a/b 的和。每一个 分子a 都是前一个分数的分子分母的和,即 a + b 。同时,根据分母的规律...原创 2021-11-30 20:05:04 · 522 阅读 · 0 评论 -
python基础教程100例题: 21&22
21、题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 这道题总体采用逆向思维。从最后一天开始,第十天剩1个,说明第九天剩 (1+1)*2 = 4 个,第八天剩(4+1)*2 = 10 个。一直重复+1再乘以2,循环8次即可求得正确答案。day = 10a = 1for i in range...原创 2021-11-29 20:05:16 · 313 阅读 · 0 评论 -
python基础教程100例题: 19&20
19、题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。 解决这个题目需要完成两步,一是找到所有因子,而是因子相加正好等于原数。可以用 if 语句判断这个数是不是因子,如果是它的因子,那么每一次都要让这个数减去因子,如此循环。if 语句可以完成第一步,这个数减去因子可以完成第二步(保证他们的和是原数)。for n in range(1,1000): m = n x = [] for i in...原创 2021-11-28 10:22:51 · 559 阅读 · 0 评论 -
python基础教程100例题: 17&18
16题已经在10题用time函数的sleep()时已经讲过,故不再展示。17、题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 17题主要是回顾字符串的内部代码,用自带的help文件也可以找到相应解释。isalpha(self, /) Return True if the string is an alphabetic string, False otherwise. isdigit(self, /) Return True if th...原创 2021-11-27 11:04:33 · 432 阅读 · 0 评论 -
python基础教程100例题: 14&15
14题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 分析:给定一个要分解的正整数 n 之后,在2到这个正整数的范围内循环,如果这个数能恰好被 n 整除,它就是一个因数,n被重新赋值为 n 除以这个数的商,如此循环。直到 n 变成1之后循环结束,输出这个 循环的 in = int(input("integer:"))print("{}=".format(n),end="")for i in range(2, n + 1): if n %...原创 2021-11-26 22:03:50 · 666 阅读 · 0 评论 -
python基础教程100例题: 12&13
12、题目:判断101-200之间有多少个素数,并输出所有素数。 素数的定义大家都知道,就是一个数如果他的因数只有1和它本身,那么这个数就是素数(质数)。首先,题目要在101-200之间判断,所以要在这个范围内用for循环,对每一个数 i 进行判断。判断方法就是:令 j 在2到这个数 ( i - 1 )之间循环 ,如果在循环过程中,存在一个 j ,这个数 i 能被j 整除,那么它就不是素数。反之是素数。count = 0prime=[]for i in range(101,...原创 2021-11-25 19:52:32 · 675 阅读 · 0 评论 -
python基础教程100例题: 9&10&11
9、题目:暂停一秒输出。10、题目:暂停一秒输出,并格式化当前时间。 9题和10题其实是一样的题目。9题是任意写一个程序,只要输出的时间有停顿就可以。10题是格式化当前时间,暂停一秒,也就是前后输出的时间会有一秒时间差。鉴于两个题是一样的,我们只需要操作第十题,主要涉及到两点:1是使用time的sleep(secs)函数,参数secs就是停顿的时间。2.是格式化时间,需要用time.strftime()函数。import timeprint(time.strftime("...原创 2021-11-24 20:03:29 · 437 阅读 · 0 评论 -
python基础教程100例题: 5&6
五、题目:输入三个整数x,y,z,请把这三个数由小到大输出。其实这个题很简单,因为列表可以用sort()命令将输入的数字由小到大排列。所以只需要做一个循环,然后把每次输入的整数放到列表里,最后再用命令排序即可。l=[0,0,0]for i in range(3): l[i]=int(input('整数:'))l.sort()print(l)六、题目:斐波那契数列。程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这...原创 2021-11-22 18:58:45 · 520 阅读 · 0 评论 -
python基础教程100例题: 3&4
一、题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?例题来源——菜鸟教程import mathfor a in range(-100,10000): if math.sqrt(a + 100) % 1 == 0: if math.sqrt(a + 100 + 168) % 1 == 0: print(a)这是我的菜鸟方法,然后看了答案发现我的想法好低级,而且这样做...原创 2021-11-21 19:12:16 · 912 阅读 · 0 评论