首页 分享 Python水仙花、冥函数、质因数、完全数案例练习题!

Python水仙花、冥函数、质因数、完全数案例练习题!

来源:花匠小妙招 时间:2024-09-16 22:42

Time will tell.

1.用for循环打印出所有水仙花数。

水仙花数是一个三位数,其各个位的数字的立方和等于该数本身。
如:153是一个水仙花数,153等于 1的3次方+5的3次方+3的3次方

代码:

for n in range(100,1000): i = n / 100 j = n / 10 % 10 k = n % 10 if n == i ** 3 + j ** 3 + k ** 3: print n 12345678

2.将一个正整数分解成质因数。例如:输入90,打印出 90 = 2 * 3 * 3 * 5。

对 n 进行分解质因数,先找到一个最小的质数 k,然后按照下述步骤:

如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

代码:

def reduceNum(n): print '{} = '.format(n), if not isinstance(n, int) or n <= 0 : print '请输入一个正确的数字 !' exit(0) elif n in [1] : print '{}'.format(n) while n not in [1] : # 循环保证递归 for index in xrange(2, n + 1) : if n % index == 0: n /= index # n 等于 n/index if n == 1: print index else : # index 一定是素数 print '{} *'.format(index), break reduceNum(90)

1234567891011121314151617181920

3、用Python编写一个冥函数。


代码:

def s(x,t): m=1 i=1 while i<=t: m*=x i+=1 return m w=s(2,4) print(w) 12345678910111213'

4.输入一个成绩分数,学习成绩>=90分的用A表示,60-89分之间的用B表示,60分以下的用C表示。


代码:

score = int(raw_input('输入分数:n')) if score >= 90: grade = 'A' elif score >= 60: grade = 'B' else: grade = 'C' print '%d 属于 %s' % (score,grade) 1234567891011

5.随机输入一行字符,分别统计其英文字母、空格、数字和其它字符的个数。


代码:

import string s = raw_input('请输入一个字符串:n') letters = 0 space = 0 digit = 0 others = 0 for c in s: if c.isalpha(): letters += 1 elif c.isspace(): space += 1 elif c.isdigit(): digit += 1 else: others += 1 print 'char = %d,space = %d,digit = %d,others = %d' % (letters,space,digit,others)

123456789101112131415161718

6、求s=a+aa+aaa+aaaa+aaaaa+ … 的值,a是一个数字。具体多少个数相加,由键盘随机输入。


代码:

Tn = 0 Sn = [] n = int(raw_input('n = ')) a = int(raw_input('a = ')) for count in range(n): Tn = Tn + a a = a * 10 Sn.append(Tn) print Tn Sn = reduce(lambda x,y : x + y,Sn) print "计算和为:",Sn 1234567891011121314

输出打印:

n = 4 a = 4 4 44 444 4444 计算和为: 4936 123456789

7、6=1+2+3。用代码找出1000以内的所有完全数。

完全数:一个数恰好等于它的真因子之和。

各个小于它的约数(真约数,列出某数的约数,去掉该数本身,剩下的就是它的真约数)的和等于它本身的自然数叫做完全数(Perfect number),又称完美数或完备数。

例如:第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6。


代码1:

from sys import stdout for j in range(2,1001): k = [] n = -1 s = j for i in range(1,j): if j % i == 0: n += 1 s -= i k.append(i) if s == 0: print j for i in range(n): stdout.write(str(k[i])) stdout.write(' ') print k[n]

1234567891011121314151617181920

代码2:

# 简洁版 from functools import reduce def is_perfect_number2(num): if num == reduce(lambda x, y: x + y, [x for x in range(1, num) if not num % x]): return True else: return False if __name__ == '__main__': for i in range(2, 1001): if is_perfect_number2(i): print(i)

12345678910111213141516'

8、一个球从100米高度自由落下,每次落地反跳原高度的一半,再落下,如此往复。求它在第10次落地时,共经过了多少米。第10次的弹跳高度是多少。


代码:

def bounce(num): height = 100 total = 0 for i in range(num): total += height height /= 2 return total, height if __name__ == '__main__': t, h = bounce(10) print("它在第10次落地时,共经过{}米,第10次反弹高度是{}".format(t, h)) 1234567891011121314'

结果为:

它在第10次落地时,共经过199.8046875米,第10次反弹高度是0.09765625米。

9、一只猴子摘下若干个桃子,当天即吃了一半,不过瘾又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后的每个早上都吃了前一天剩下的一半零一个。到第10天早上时,只剩下一个桃子了。求第一天共摘了多少桃子。


代码:

x2 = 1 for day in range(9,0,-1): x1 = (x2 + 1) * 2 x2 = x1 print x1 1234567

打印结果为:

1534 1'

10、甲队为a,b,c三人,乙队为x,y,z三人。以抽签决定比赛名单,已知a不和x比,c不和x、z比,编程找出每个人的对战选手。


代码:

if __name__ == '__main__': w = [(i, j, k) for i in ['x', 'y', 'z'] for j in ['x', 'y', 'z'] for k in ['x', 'y', 'z'] if i != j and j != k and i != k and i != 'x' and k not in ('x', 'z')] print('order is a -- %st b -- %stc--%s' % w[0]) 123456'

絮叨

如果你对Python、自动化软件测试,和更多Ptyhon测试面试题感兴趣的话可以加入我们175317069一起学习,群里会有各项资料发放。也有行业深潜多年的测试人技术分析讲解。期待你的加入!

欢迎【评论】、【点赞】、【关注】礼貌三连~

Time will tell.(时间会证明一切)

相关知识

《Python程序设计:人工智能案例实践》((美) 保罗·戴特尔(Paul Deitel))【简介
Python中函数加括号和不加括号的区别
Python实例(六)
【Python实用工具】(情人节献礼)turtle函数绘制动态玫瑰花
python内置函数可以返回列表、元组
SKYNE/python
【Python】基础
科学网—为什么生态学家要学习Python或者R?
Hello world Python新手赛题解
python绘制花

网址: Python水仙花、冥函数、质因数、完全数案例练习题! https://www.huajiangbk.com/newsview153270.html

所属分类:花卉
上一篇: 报名!参加崇明小主持人大赛,还能
下一篇: 交易结果=市场理解×(交易策略+

推荐分享