《像计算机科学家一样思考Python》——3.16 练习

简介:

本节书摘来自异步社区《像计算机科学家一样思考Python》一书中的第3章,第3.16节,作者[美]Allen B. Downey,赵普明 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

3.16 练习

练习3-3

Python提供了一个内置函数len,返回一个字符串的长度。所以len('allen')的值是5。

编写一个函数right_justify,接收一个字符串形参s,并打印出足够的前导空白,以达到最后一个字符显示在第70列上。

>>> right_justify('allen')
                                   allen

练习3-4

函数对象是一个值,你可以将它赋值给变量,或者作为实参传递。例如do_twice是一个函数,接收一个函数对象作为实参,并调用它两次:

def do_twice(f):
   f()
   f()

下面是一个使用do_twice来调用一个print_spam函数两次的示例:

def print_spam():
   print 'spam'

do_twice(print_spam)

1.将这个示例存入脚本中并测试它。

2.修改do_twice,让它接收两个实参,一个是函数对象,另一个是一个值,它会调用函数对象两次,并传入那个值作为实参。

3.编写一个更通用的print_spam,叫做print_twice,接收一个字符串形参,并打印它两次。

4.使用修改版的do_twice来调用print_twice两次,并传入实参'spam'。

5.定义一个新的函数do_four,接收一个函数对象与一个值,使用这个值作为实参调用函数4次。这个函数的函数体应该只有两个语句,而不是四个。
练习3-5

这个练习可以只用语句和我们已经学过的其他语言特性实现。

1.编写一个函数,绘制如下的表格:


screenshot

提示:

要在同一行打印多个值,你可以使用逗号分隔不同的值:

print '+','-'

如果值序列的结尾有一个逗号,Python不会换行,所以后面的打印语句会出现在同一行。

print '+',
print '-'

这两个语句的输出是'+ -'。

2.编写一个函数绘制类似的表格,但有4行4列。

相关文章
|
1月前
|
Python
Python:函数篇(每周练习)
Python:函数篇(每周练习)
79 1
|
2月前
|
机器学习/深度学习 人工智能 算法
【Python】编程练习的解密与实战(一)
【Python】编程练习的解密与实战(一)
37 0
|
4月前
|
算法 Python
Python实战练习示例
Python实战练习示例
41 7
|
2天前
|
索引 Python
python 格式化、set类型和class类基础知识练习(上)
python 格式化、set类型和class类基础知识练习
21 0
|
2月前
|
Python
Python猜字游戏是一种常见的编程练习
Python猜字游戏是一种常见的编程练习
24 2
|
2月前
|
机器学习/深度学习 人工智能 算法
【Python】编程练习的解密与实战(四)
【Python】编程练习的解密与实战(四)
38 0
|
2月前
|
机器学习/深度学习 人工智能 算法
【Python】编程练习的解密与实战(二)
【Python】编程练习的解密与实战(二)
48 0
|
3月前
|
算法 小程序 搜索推荐
python一百道经典基础练习题目
python一百道经典基础练习题目
57 1
|
3月前
|
机器学习/深度学习 人工智能 TensorFlow
Python小姿势 - 计算机科学家用Python编写自己的AI
Python小姿势 - 计算机科学家用Python编写自己的AI
|
4月前
|
数据采集 文字识别 Python
介绍一个打怪升级练习Python的网站,寓教于乐了属于是!
介绍一个打怪升级练习Python的网站,寓教于乐了属于是!

热门文章

最新文章