leolion 发表于 2020-3-26 18:03:16

关于一个输出一直在变化的函数,如何使之在等于某一项的时候执行其他语句?

举个例子首先定义一个函数def eee():
                                              for i in range(0.10):
                                                print(i)
然后定义第二个函数 获取其值 def rrr():
                                                return(eee())
问题 我如何在第一个函数print 3的时候 让他去执行其他语句呢?
这只是一个例子 我最近在搞一个东西输出一直在变化 在他变化到我需要的某个值的时候 执行其他的程序,希望大佬解答小萌新的疑惑

BngThea 发表于 2020-3-26 18:05:11

用 if 进行判断,然后返回你想要的结果

leolion 发表于 2020-3-26 18:07:16

BngThea 发表于 2020-3-26 18:05
用 if 进行判断,然后返回你想要的结果

不行的我试过了if rrr()== 3:
                               print(111)    (只是个例子结果还是 0-9的值)

leolion 发表于 2020-3-26 18:10:02

{:10_254:}{:10_254:}{:10_254:}大佬都快来

永恒的蓝色梦想 发表于 2020-3-26 18:23:10

输出流是无法控制的,生成器还可以抢救一下:eee=range(10).__iter__()
try:
    while 1:
      temp=eee.__next__()
      if temp==3:
            #do other things...
except StopIteration:
    pass

heidern0612 发表于 2020-3-26 18:40:01

本帖最后由 heidern0612 于 2020-3-26 18:53 编辑

这个意思吗?

def function1():
    for i in range (0,10):
      while i == 3:
            print("I,mthree.")
            break
      else:
            print(i)


function1()

BngThea 发表于 2020-3-26 18:48:41

leolion 发表于 2020-3-26 18:07
不行的我试过了if rrr()== 3:
                               print(111)    (只是个例子结果还 ...

直接将rrr函数放到eee中调用
if i==3:
    rrr()

leolion 发表于 2020-3-26 19:00:21

heidern0612 发表于 2020-3-26 18:40
这个意思吗?

就这个例子来说 这个很对但是这只是个例子。。输出是一直在变化的。不是在0-9里面找。。

heidern0612 发表于 2020-3-26 19:10:12

leolion 发表于 2020-3-26 19:00
就这个例子来说 这个很对但是这只是个例子。。输出是一直在变化的。不是在0-9里面找。。

你把for循环里的i赋值给变量,不就行了么?

leolion 发表于 2020-3-26 19:31:28

heidern0612 发表于 2020-3-26 19:10
你把for循环里的i赋值给变量,不就行了么?

变量一直在变化,一直有输出的 所以你无法定义他。。

leolion 发表于 2020-3-26 19:42:42

永恒的蓝色梦想 发表于 2020-3-26 18:23
输出流是无法控制的,生成器还可以抢救一下:

老哥能解释一下吗比较菜{:10_254:} 看不太懂的。。

leolion 发表于 2020-3-27 12:41:40

heidern0612 发表于 2020-3-26 19:10
你把for循环里的i赋值给变量,不就行了么?

我的想法的问题。。。创建一个list 在索引就可以了{:10_282:}
页: [1]
查看完整版本: 关于一个输出一直在变化的函数,如何使之在等于某一项的时候执行其他语句?