Python经典基础编程练习题(三)——每日10题

it2024-12-25  18

1.求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字,n是项数。例如:2+22+222+2222+22222(此时共有a=2,n=5)

from functools import reduce Tn = 0 Sn = [] n = int(input('n = :')) a = int(input('a = :')) for count in range(n): Tn = Tn + a a = a * 10 Sn.append(Tn) print (Tn) S = reduce(lambda x,y : x + y,Sn)#注意reduce和匿名函数的用法,累加 print (S)

2.一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程 找出1000以内的所有完数。

for j in range(2,1001): l = [] n = -1 s = j for i in range(1,j): if j % i == 0: n += 1 s -= i l.append(i) if s == 0: print (j) for i in range(n): print(l[i],end=' ') print(l[n])

3.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

h=100 sum=0 for i in range(1,11): sum+=1.5*h h=0.5*h print('共经过%f米' % sum) print('第十次弹起高度为%f' % h)

4.斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。求斐波那契数列的第10项

def fib(n): if n == 1 or n == 2: return 1 return fib(n - 1) + fib(n - 2) # 输出了第10个斐波那契数列 print(fib(10))

5.将一个列表的数据复制到另一个列表中

a = [1, 2, 3] b = a[:]#不能用b=a,否则a中元素变动,会影响b print b

6.暂停5秒输出

import time myD = {1: 'a', 2: 'b'} for key, value in dict.items(myD): print (key, value) time.sleep(5) # 暂停 5 秒

7.暂停5秒输出,并格式化当前时间。

import time print (time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))) # 暂停5秒 time.sleep(5) print (time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))

8.有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?斐波那契数列(1,1,2,3,5,8,13,21)

f1 = 1 f2 = 1 for i in range(1,22): print ('%12ld %12ld' % (f1,f2)) if (i % 3) == 0: print ('') f1 = f1 + f2 f2 = f1 + f2

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

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

10.打印如下图案

   *

  ***

 *****

*******

 *****

  ***

   *

for i in range(4): for j in range(2 - i + 1): print(end=' ') for k in range(2 * i + 1): print('*',end='') print('') for i in range(3): for j in range(i + 1): print(end=' ') for k in range(4 - 2 * i + 1): print('*',end='') print('')

 

最新回复(0)