簡體   English   中英

如何簡化/使用這些 if 語句?

[英]How to simplify/what to use these if statements?

我正在編寫一個程序,它需要運行一個 for 循環,然后返回一個字符串或運行下一個 for 循環。 我這樣做是為了當它返回一些變量時,變量會發生變化並且下一個循環不會運行。 它工作正常,但我覺得有更好的方法來做到這一點。

check=0
    if check==0:
        for j in range (0,10):
            if something happens:
                check=1
                return('string')
    if check==0:
        for j in range (0,7):
            if something happens:
                check=1
                return('string')

假設if something happens ,這兩個檢查正在檢查不同的條件,並且兩個返回是不同的字符串:

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將從 function “返回”並跳過它下面的代碼,所以你不需要檢查變量。 您不能直接組合循環,因為第一次檢查可能評估為 False 直到j>=8 ,但第二次檢查可能會在此之前通過並返回,從而改變您的邏輯。

如果對something happens的檢查相同並且返回值都相同,則可以簡化為:

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

不過,根據something_happens實際作用,您可能需要在range(18)上循環。 很難說不知道在條件中評估了什么。

請參閱以進一步了解return

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM