Python函数(二)
时间:2022-07-22
本文章向大家介绍Python函数(二),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
今天接着讲《像计算机科学家一样思考》第三章的习题
3.1. 编写一个能画出如下网格(grid)的函数:
# 执行两次
def do_twice(f):
f()
f()
# 执行四次
def do_four(f):
do_twice(f)
do_twice(f)
# 打印'+ - - - - '
def print_plus_dash():
print('+ - - - - ', end='')
# 打印'| '
def print_bar_space():
print('| ', end='')
# 打印两次'+ - - - - '
# 再打印一个'+'结尾
# 这个函数可以得到'+ - - - - + - - - - +'
def print_plus_row():
do_twice(print_plus_dash)
print('+')
# 打印两次'| '
# 再打印一个'|'结尾
# 这个函数可以得到'| | |'
def print_bar_row():
do_twice(print_bar_space)
print('|')
# 打印一次'+ - - - - + - - - - +'
# 再打印四次'| | |'
# 可以得到'+ - - - - + - - - - +'
# '| | |'
# '| | |'
# '| | |'
# '| | |'
def print_plus_bar_rows():
print_plus_row()
do_four(print_bar_row)
# 打印两次
# '+ - - - - + - - - - +'
# '| | |'
# '| | |'
# '| | |'
# '| | |'
# 得到
# '+ - - - - + - - - - +'
# '| | |'
# '| | |'
# '| | |'
# '| | |'
# '+ - - - - + - - - - +'
# '| | |'
# '| | |'
# '| | |'
# '| | |'
# 最后在打印一行
# '+ - - - - + - - - - +'
def print_grid():
do_twice(print_plus_bar_rows)
print_plus_row()
print('print plus row')
print_plus_row()
print('')
print('print bar row')
print_bar_row()
print('')
print('print plus bar rows')
print_plus_bar_rows()
print('')
print('print grid')
print_grid()
运行结果如下:
3.2编写一个能够画出四行四列的类似网格的函数。
def do_twice(f):
f()
f()
def do_four(f):
do_twice(f)
do_twice(f)
def print_plus_dash():
print('+ - - - - ', end='')
def print_bar_space():
print('| ', end='')
# 因为要打印四行四列,所以这个地方需要将do_twice更换成do_four
def print_plus_row():
do_four(print_plus_dash)
print('+')
# 因为要打印四行四列,所以这个地方需要将do_twice更换成do_four
def print_bar_row():
do_four(print_bar_space)
print('|')
# 因为要打印四行四列,所以这个地方需要将do_twice更换成do_four
def print_plus_bar_rows():
print_plus_row()
do_four(print_bar_row)
# 因为要打印四行四列,所以这个地方需要将do_twice更换成do_four
def print_grid():
do_four(print_plus_bar_rows)
print_plus_row()
print('print plus row')
print_plus_row()
print('')
print('print bar row')
print_bar_row()
print('')
print('print plus bar rows')
print_plus_bar_rows()
print('')
print('print grid')
print_grid()
运行结果如下:
心得:
1. 感觉编程就像搭积木,每一块积木就像我们这里定义的一个函数。你可以想象你用乐高在拼一个汽车,那print_plus_row定义的这个函数可以看作是轮子,汽车有四个轮子,那将print_plus_row重复四次,汽车的所有轮子就都有了。
2. 编程是一个循序渐进的过程,一边写一边调试,一边看输出是不是你想要的东西。就像你搭积木,也是边搭边看说明书,看看搭出来的东西跟说明书上是不是一样的。
关于函数的简单介绍可以参考:Python函数(一)
- [接口测试 - 基础篇] 07 来来来,一起读写excel玩玩之一
- 时间序列分析算法【R详解】
- 【专知-关关的刷题日记16】Leetcode 88. Merge Sorted Array
- [接口测试 - 基础篇] 06 好吧也来解析下html
- [接口测试 - 基础篇] 05 好讨厌的xml解析
- 【专知-关关的刷题日记17】Leetcode 268. Missing Number
- 【专知-关关的刷题日记18】Leetcode 35. Search Insert Position
- [接口测试 - http.client篇] 15 常用API说明及基本的示例
- [接口测试 - http.client篇] 14 源码初探及其工作机制分析
- 【专知-关关的刷题日记19】Leetcode 118. Pascal's Triangle
- 每周学点大数据 | No.3算法设计与分析理论
- HDU 1874 畅通工程续【Floyd算法实现】
- 接口测试 | 21 基于flask弄个restful API服务出来
- 数论部分第二节:埃拉托斯特尼筛法 埃拉托斯特尼筛法
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Array - 217. Contains Duplicate
- Array - 299. Bulls and Cows
- Array - 189. Rotate Array
- Array - 277 Find the Celebrity
- Array - 80. Remove Duplicates from Sorted Array II
- Array - 508. Wiggle Sort
- Array - 376. Wiggle Subsequence
- Array - 283. Move Zeroes
- Array - 88. Merge Sorted Array
- Array - 228. Summary Ranges
- Array - 152. Maximum Product Subarray
- Focal Loss和它背后的男人RetinaNet
- Array - 53. Maximum Subarray
- Array - 295. Find Median from Data Stream
- Array - 239. Sliding Window Maximum