《Python程序设计案例教程》-课后习题答案第3章

《Python程序设计案例教程》-课后习题答案第3章

1. 编写一个名为list_sum的函数,接收一个数字的列表,返回累计和;也就是说,返回一个新的列表,其中第i个元素是原先列表的前i+1个元素的和。例如:

>>> def list_sum(t):

        total=0

        res=[]

        for x in t:

           total += x

           res.append(total)

        return res

>>> t=[1,2,3,4,5]

>>> list_sum(t)

[1, 3, 6, 10, 15]

2. 设计一个字典,并编写程序,用户输入内容作为键,然后输出字典中对应的值,如果用户输入的键不存在,则输出“您输入的键不存在!”

d={1:'a',2:'b',3:'c',4:'d'}

v=input('请输入一个键:')

v=eval(v)

print(d.get(v,'您输入的键不存在'))

3. 编写程序,生成20个0到100随机数的列表,然后将前10个元素升序排列,后10个元素降序排列,并输出结果。

import random

x=[random.randint(0,100) for i in range(20)]

print("原列表:")

print(x)

y=x[0:10]

y.sort()

x[0:10]=y

y=x[10:20]

y.sort(reverse=True)

x[10:20]=y

print("排序后列表:")

print(x)

4. 编写程序,生成包含50个0到10之间的随机整数,并统计每个元素的出现次数。(使用集合)

import random

x=[random.randint(0,10) for i in range(50)]

d=set(x)

for v in d:

    print(v,':',x.count(v))

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

x2=1

for day in range(9,0,-1):

    x1=(x2+1)*2

    x2=x1

print(x1)

6. 统计2000年至2050年中有多少闰年。

    >>> [year for year in range(2000,2050) if (year%4==0 and year%100!=0)or(year%400==0)]

[2000, 2004, 2008, 2012, 2016, 2020, 2024, 2028, 2032, 2036, 2040, 2044, 2048]

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李威威wiwi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值