本文主要是介绍Python100例 我的实现展示(21-30例),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Python100例 我的实现展示(21-30例)
'''21、猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上
都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。'''def test_exam_21():total = 1x = 1for i in range(9, 0, -1):if i == 9:x = 2 * (1 + 1)total += xelse:x = 2 * (x + 1)total += xprint("第一天共摘了{0}个桃子。".format(str(total)))'''22、两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他
不和x,z比,请编程序找出三队赛手的名单。(这道题不会,写的是自己做工逻辑处理的代码,而非完全用程序做的处理的代码)'''def test_exam_22(): # 下方为菜鸟提供的实现方式for i in range(ord('x'), ord('z') + 1):for j in range(ord('x'), ord('z') + 1):if i != j:for k in range(ord('x'), ord('z') + 1):if (i != k) and (j != k):if (i != ord('x')) and (k != ord('x')) and (k != ord('z')):print('order is a -- %s\t b -- %s\tc--%s' % (chr(i), chr(j), chr(k)))"""pa = {'a': '', 'b': '', 'c': ''}pb = ['x', 'y', 'z']for i in range(len(pb)):if pb[i] == 'x':pa['b'] = pb[i]elif pb[i] == 'y':pa['c'] = pb[i]else:pa['a'] = pb[i]print("三队参赛选手名单如下所示:")print(pa)"""'''23、打印出如下图案(菱形):*********
****************'''def test_exam_23():listx = [1, 3, 5, 7, 5, 3, 1]for i in range(1, 8):for j in range((i - 4).__abs__()):print(" ", end="")for x in range(listx[i - 1]):print("*", end="")print()'''24、有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。'''def test_exam_24():s = int(input("请输入一个正整数x,程序将计算分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前x项之和。\n"))list_x = ['2/1']print(list_x[0])total = 2 / 1for i in range(1, s):x = list_x[i - 1].split('/')list_x.append(str(int(x[0]) + int(x[1])) + '/' + x[0])print(list_x[i])total += (int(x[0]) + int(x[1])) / int(x[0])print(list_x)print("输入的正整数为{0},程序将计算分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前{1}项之和为:{2}。".format(s, s, total))'''25、题目:求1+2!+3!+...+20!的和。'''def test_exam_25():total = 0for i in range(1, 20):t = 1for j in range(1, i + 1):t *= jtotal += tprint('1! + 2! + 3! + ... + 20! = %d' % total)"""26、利用递归方法求5!。"""def test_exam_26():total = 1for i in range(1, 5):total *= iprint('5! = %d' % total)'''27、利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。'''def test_exam_27():s1 = input("请输入一个5个字符的字符串,程序将以相反顺序打印出来。\n")print(exchange(s1))def exchange(s2):s = list(s2)for i in range(int(len(s)/2)):t = s[i]s[i] = s[len(s) - 1 - i]s[len(s) - 1 - i] = treturn "".join(s)'''28、有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,
说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?'''def test_exam_28():five_age = 10for i in range(5-1):five_age += 2print("第五个人{0}岁".format(five_age))'''29、给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。'''def test_exam_29():s1 = input("请输入一个不多于5位的正整数,程序将求它是几位数,并且逆序打印出各位数字。\n")x = int(s1)for i in range(4, -1, -1):if x % math.pow(10, i):print("输入的数是{0}位数,逆序打印的数字如下:".format(str(i+1)))breakprint(exchange(s1))'''30、一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。'''def test_exam_30():s1 = input("请输入一个不多于5位的正整数,程序将求它是几位数,并且逆序打印出各位数字。\n")if int(s1) == int(exchange(s1)):print("输入的数为{0},该数逆序处理之后为{1},它是回文数。".format(s1, exchange(s1)))else:print("输入的数为{0},该数逆序处理之后为{1},它不是回文数。".format(s1, exchange(s1)))if __name__ == '__main__':# test_exam_21()# test_exam_22()# test_exam_23()# test_exam_24()# test_exam_25()# test_exam_26()# test_exam_27()# test_exam_28()# test_exam_29()test_exam_30()
这篇关于Python100例 我的实现展示(21-30例)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!