python3学习--(7)习题2

1.sum()函数接受一个list作为参数,并返回list所有元素之和。请计算 1*1 + 2*2 + 3*3 + ... + 100*100。

参考代码:

2.请定义一个 square_of_sum 函数,它接受一个list,返回list中每个元素平方的和。

参考代码:

3.一元二次方程的定义是:ax² + bx + c = 0,请编写一个函数,返回一元二次方程的两个解。

参考代码:

4.汉诺塔 (http://baike.baidu.com/view/191666.htm) 的移动也可以看做是递归函数。

我们对柱子编号为a, b, c,将所有圆盘从a移到c可以描述为:

如果a只有一个圆盘,可以直接移动到c;

如果a有N个圆盘,可以看成a有1个圆盘(底盘) + (N-1)个圆盘,首先需要把 (N-1) 个圆盘移动到 b,然后,将 a的最后一个圆盘移动到c,再将b的(N-1)个圆盘移动到c。

请编写一个函数,给定输入 n, a, b, c,打印出移动的步骤。

参考代码:

5.请定义一个 greet() 函数,它包含一个默认参数,如果没有传入,打印 'Hello, world.',如果传入,打印 'Hello, xxx.'。

参考代码:

6.请编写接受可变参数的 average() 函数。(注意:可变参数 args 是一个tuple,当0个参数传入时,args是一个空tuple。)

参考代码:

7.range()函数可以创建一个数列:

     >>> range(1, 101)

  1. [1, 2, 3, ..., 100]

请利用切片,取出:

(1)前10个数;
(2)3的倍数;
(3)不大于50的5的倍数。(注意:要取出3, 6, 9可以用::3的操作,但是要确定起始索引。)

参考代码:

8.利用倒序切片对 1 - 100 的数列取出:

* 最后10个数;

* 最后10个5的倍数。(注意:5的倍数可以用 ::5 取出,要确定起始索引。)

参考代码:

9.字符串有个方法 upper() 可以把字符变成大写字母:

     >>> 'abc'.upper()

  1. 'ABC'

但它会把所有字母都变成大写。请设计一个函数,它接受一个字符串,然后返回一个仅首字母变成大写的字符串。

(注意:利用切片操作简化字符串操作。取除首字母外的字符串用[1: ])

参考代码:

猜你喜欢

转载自blog.csdn.net/weixin_38808167/article/details/89641768
今日推荐