pyton设计一个函数,让返回值的调用来回切换,调用一次,返回1,下次调用返回0

本文介绍了一个简单的Python函数设计,该函数能够实现一个开关效果:每次调用时在0和1之间切换状态。通过使用迭代器和闭包的概念,此函数可以设定初始状态,并在后续调用中反转其当前状态。
pyton设计一个函数,让返回值的调用来回切换,调用一次,返回1,下次调用返回0
Consider a procedure make_toggle that might be used to create an on/off switch. If the switch is off (0), invoking it causes the switch to come on and return 1. Similarly, if the switch is on, invoking it again causes the switch to go off and return 0. >>> x = make_toggle(0)
>>> x()
1
>>> x()
0
>>> x()
1
Define and implement a make_toggle procedure that allows its initial state to be set. Use as few lines of code as possible.
以下是代码实现
#coding:utf-8
"""
由python培训_python爬虫等视频讲师所写.
视频下载地址
http://pan.baidu.com/share/link?shareid=641164583&uk=2620128624
"""
from itertools import cycle

def  make_toggle(num):
    """利用迭代器和闭包实现,如果不需要设置初始状态,就更简单。
    直接myIterator = cycle([1,0])
    """
   
    if num == 0:

        myIterator = cycle(range(2)[::-1])


        def inner():

            return myIterator.next()
        return inner
    else :
        def inner():

            return "please input num = 0"
        return inner


x = make_toggle(0)
print x()
print x()
print x()
print x()
任务描述 本关任务: 编写程序,判断两个文件是否相同。要求用函数实现文件比较功能,在main函数中进行验证。 相关知识 为了完成本关任务,你需要掌握:1. 文件的打开和关闭,2.读文件,3.如何比较文件。 文件的打开和关闭 在Pyton中访问文件,必须首先使用内置函数open打开文件,创建文件对象,然后再利用该文件对象进行读写操作。 一旦成功创建文件对象后, 该对象便会记住文件的当前位置,以便于执行读、写操作。这个位置被称为文件的指针。凡是以"r" 、"r+" 、"rb+" 的读文件方式,,或以"w" 、"w+" 、"wb+"的写文件方式来打开的文件,初始时文件指针均指向文件的头部。 open函数语法格式如下: fileObject = open(file_name [, access_mode][, buffering]) 功能:打开一个文件并返回文件对象。如果文件不能打开,抛出异常OSError。 文件打开并进行操作完毕后,应该关闭文件,以便释放所占用的内存空间,或可以被别的程序打开并使用。 close函数语法格式如下: fileObject.close() 功能:关闭文件。如果一个文件在关闭后还对其进行操作会产生ValueError。 读文件 read函数 read函数语法格式:fileObject.read([count]) 功能:在打开的文件中读取一个字符串,从文件的起始位置开始读入。注意Python中的字符串可以是二进制数据,而不是仅仅是文本数据。 readline函数 readline函数语法格式:fileObject.readline([count]) 功能:读取文件的一行,包括行结束符。 readlines函数 readlines函数语法格式:fileObject.readlines([count]) 功能:把文件每一行作为一个list的一个成员,并返回这个list。内部是通过循环调用readline()来实现的。 如何比较文件 定义两个文件指针,指向要打开的两个文件,分别逐行读取两个文件,并进行比较,在第一次遇到不相同的两行时,再逐列比较,最后输出比较结果。 编程要求 根据提示,在右侧编辑器补充代码,判断两个文件是否相同。要求用函数实现文件比较功能,在main函数中进行验证。 1、要注意函数返回值格式 如果相等返回[1,0,0] 如果不相等返回[0,a,b] a,b表示第一个不相等字符所在的行号和列号 2、在main函数中输出结果,如果相等则输“这两个文件相等”,否则输出不相等所在的行列,如测试说明所示。 测试说明 平台会对你编写的代码进行测试: 测试输入: src/step1/txtfile3.txt src/step1/txtfile4.txt 预期输出: 这两个文件在2行3列开始不相等
最新发布
12-04
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值