美文网首页
习题18-20

习题18-20

作者: 小董不太懂 | 来源:发表于2019-08-20 12:17 被阅读0次
  • 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
    例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘输入。
    这题倒也不难,实际上 a+aa+aaa+aa...a 可以转化为 (a * 10*0) + (a * 10*1) + (a * 10*2)…… 进而转化为 a * (10*0 + 10*1 + 10*2 ……),所以用两个 for 循环就搞定了。
a = input('请输入需要循环的数字a =')
n = int(input('请输入需要循环的次数n ='))
li = []
for i in range(1,n+1):
    s = a*i
    li.append(s)
new_li = [int(num) for num in li]
print(new_li)
print(sum(new_li))

输出结果:

D:\anaconda\python.exe D:/bilibili大学/python经典习题100道/习题18.py
请输入需要循环的数字a =2
请输入需要循环的次数n =5
[2, 22, 222, 2222, 22222]
24690

Process finished with exit code 0
  • 一个数如果恰好等于它的因子之和,这个数就称为“完数”。
    例如6=1+2+3。编程找出1000以内的所有完数
for i in range(2, 1000):
    factors = []  # 因子列表,i 每次循环都清空
    for j in range(1, i):
        if i % j == 0:
            factors.append(j)
    s = sum(factors)
    if i == s:
        print(i)

输出结果:

D:\anaconda\python.exe D:/bilibili大学/python经典习题100道/习题19.py
6
28
496

Process finished with exit code 0

因子数:除去本身外,能被这个数整除的数。

import math
li = []
for i in range(2,1000):
    for j in range(1,math.floor(i/2)+1):
        if i%j == 0:
            li.append(j)
    if sum(li) == i:
        print(i)
    li = []

保证在制造第一个for循环的时候li这个列表为空。

  • 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
hei = []#用来存储高度
length = []#用来存储长度
height = 100
for i in range(11):
    if i == 0:
        length.append(100)
    else:
        height /= 2
        hei.append(height)
        length.append(2*height)
print('弹跳高度列表',hei)
print('每次弹跳对应的距离列表',length)
print('共经过{}米'.format(sum(length[:-1])))
#设从地上弹起到落地为一个完整的过程,反弹10次,就完成十一次过程,因为第一次也算过程,我们只要前十次
print('第十次反弹的高度为{}米'.format(hei[-1]))

输出结果:

D:\anaconda\python.exe D:/bilibili大学/python经典习题100道/习题20.py
弹跳高度列表 [50.0, 25.0, 12.5, 6.25, 3.125, 1.5625, 0.78125, 0.390625, 0.1953125, 0.09765625]
每次弹跳对应的距离列表 [100, 100.0, 50.0, 25.0, 12.5, 6.25, 3.125, 1.5625, 0.78125, 0.390625, 0.1953125]
共经过299.609375米
第十次反弹的高度为0.09765625米

Process finished with exit code 0

相关文章

网友评论

      本文标题:习题18-20

      本文链接:https://www.haomeiwen.com/subject/reiesctx.html