如何根据类的方法返回的内容来中断或继续 while 循环

问题描述 投票:0回答:1

在我的主脚本中,我有一个 while 循环,我想根据类的方法返回的内容到达顶部。

问题.py脚本:

class question:
      
    @staticmethod
    def ask_currency(self):
        curr_input = input("What currency? ")
        
        if curr_input=='back':
            return continue
        
        return curr_input


然后在我的 main.py 脚本中:

while loop1=True:
    # stuff 1
    while loop2=True:
        # Some stuff 2
        question.ask_currency()
        # Some stuff 3

我希望能够再次转到 while 循环 2 的开头,而无需执行任何 3 个操作,其中在类中检查 if 语句。这样做的原因是我在主脚本中大量使用了

question.ask_currency()
,并且我不想一次又一次地检查if语句。我知道 continue/break 确实会传递函数,所以我希望有人有一个好主意?

基本上,我希望用户每次输入内容时都能够返回主菜单。

python algorithm for-loop if-statement try-catch
1个回答
0
投票

您可以从 if 语句返回值 None,如下所示:

if curr_input=='back':
    return None

然后检查while循环中的返回值。

while loop2=True:
    # Some stuff 2
    result = question.ask_currency()
    if (result == None):
        continue
    # Some stuff 3

None 的值在 python 中被用作空值。

另外,我不认为

return continue
return break
是 python 中的有效语法。

© www.soinside.com 2019 - 2024. All rights reserved.