Python 如何简化/如何使用这些if语句?

Python 如何简化/如何使用这些if语句?,python,python-3.x,loops,Python,Python 3.x,Loops,我正在编写一个程序,需要运行一个for循环,然后返回一个字符串或运行下一个for循环。我这样做是为了当它返回某个变量时,该变量会发生变化,而下一个循环不会运行。这很好,但我觉得有更好的方法 check=0 如果检查==0: 对于范围(0,10)内的j: 如果发生了什么事: 检查=1 返回('string') 如果检查==0: 对于范围(0,7)内的j: 如果发生了什么事: 检查=1 返回('string') 假设两个如果发生问题检查检查的是不同的条件,两个返回的是不同的字符串: for j in

我正在编写一个程序,需要运行一个for循环,然后返回一个字符串或运行下一个for循环。我这样做是为了当它返回某个变量时,该变量会发生变化,而下一个循环不会运行。这很好,但我觉得有更好的方法

check=0
如果检查==0:
对于范围(0,10)内的j:
如果发生了什么事:
检查=1
返回('string')
如果检查==0:
对于范围(0,7)内的j:
如果发生了什么事:
检查=1
返回('string')

假设两个
如果发生问题
检查检查的是不同的条件,两个返回的是不同的字符串:

for j in range(10):
   if something_happens:
      return 'string'

for j in range(7):   
   if some_other_thing_happens:
      return 'some other string'
正如Daniel Mesejo所说,
return
将从函数中“返回”并跳过它下面的代码,因此不需要check变量。您不能直接组合循环,因为第一个检查可能会计算为False,直到
j>=8
,但第二个检查可能会通过并在此之前返回,从而更改您的逻辑

如果对发生的事情进行的检查相同且返回值相同,则可以简化为:

for j in range(10):
   if something_happens:
      return 'string'
不过,根据实际发生的情况,您可能需要在
范围(18)
上循环。很难说,如果不知道条件表达式中的计算结果


有关
return

的进一步了解,请参阅。如果返回,下一个循环将永远不会运行。我的意思是,下一个循环只有在您不返回时才会运行。所以不需要保留一个check变量。这就是我需要的答案。谢谢