使用 returns 打破循环的最佳方式

Best way to use returns to break from a loop

首先,我不是母语人士,如果有语法错误,请多多包涵。 :) 我是一个真正的新手,刚开始学习编程 - 我选择 Python 3 作为我的第一语言。所以请宽容:) 我已经尝试自己找到答案,但没有成功。 哪个更好或更正确"style"。运行时是否可能有所不同。谢谢!

版本 1:

def newUsername(db):
    isUser = True
    while isUser:
        username = input('Set an username:...')
        if not username:
            pass
        elif username in db:
            print("This user already exists!")
        else:
            isUser = False
    return username

版本 2:

def newUsername(db):
    while True:
        username = input('Set an username:...')
        if not username:
            pass
        elif username in db:
            print("This user already exists!")
        else:
            return username

第二个版本会更好

这样更好,因为您没有使用额外的变量并且还减少了为该变量赋值的表达式。