首页 > 解决方案 > 如何正确退出在条件函数中应用的函数?

问题描述

如果此函数输出返回某个对象,我将尝试退出初始函数。

这是初始函数:


def some_random_fun(state):
    i=0
    
    while i < 100:
          i+=1
          set_state=state

          if set_state is None:
             print('Set state is none at trial {}'.format(i))
             is_none=True
             
             if i==100:
                print('iteration is done')
                break
          else:
                is_none=False
                print('state is not none')
                  
                return state, is_none

然后我在另一个函数中评估初始函数输出,这个想法是state=None,这个函数必须exit()没有任何进一步的错误消息或任何东西。


def print_states():
    state, is_none=some_random_fun(state=None)
    
    if is_none is False:
        print(state)
        print('is none, done!')
    else: 
        exit()

print_states()

但是,当应用时,会出现下一条消息:

TypeError:无法解压不可迭代的 NoneType 对象

我错过了什么?

在这种情况下我怎么能设置print_states()退出?

标签: pythonfunctionif-statementwhile-loop

解决方案


推荐阅读