1.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
high = 100
ret = 100
for i in range(1,11):
ret = ret + high
high = high/2
print(“小球共经过:%f米” % (ret-2*high))
print(“小球在第10次反弹的时候高度为:%f米” % high)
2.一个数如果恰好等于它的因子之和,这个数就称为”完数”。例如6=1+2+3.编程找出1000以内的所有完数。
for i in range(1, 1000):
yz = []
for j in range(1, i):
if i % j == 0:
yz.append(j)
sum_a = 0
for b in yz:
sum_a = b + sum_a
if i == sum_a:
print(i)
3.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
s = input(“输入字符:”)
zm = 0
space = 0
num = 0
others = 0
for i in s:
if i.isalpha():
zm += 1
elif i.isspace():
space += 1
elif i.isdigit():
num += 1
else:
others += 1
print(‘英文字母有{%d}个,空格有{%d}个,数字有{%d}个,其它字符有{%d}个’ % (zm,space,num,others))
古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
# 兔子的规律为数列1,1,2,3,5,8,13,21….
num = input(‘请输入想要查询的是第几个月’)
num = int(num)
a = num//3
print(2**a)有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?
tar = [1, 2, 3, 4]
count = 0
for i in range(len(tar)):
t1 = tar.copy()
x = str(t1.pop(i))
for j in range(len(t1)):
t2 = t1.copy()
y = str(t2.pop(j))
for k in range(len(t2)):
print(x + y + str(t2[k]), end=’ ‘)
count += 1
print(‘’)
print(‘最终结果为:%s个’ % count)
- 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少
peach = 1
for i in range(9):
peach = (peach + 1) * 2
print(peach)