تمرین جلسه 58

حسین عبدالوند
7 شهريور ۱۴۰۲

سلام

برای این تمرین من یه سوال داشتم

من میخوام بعد از اینکه پسورد صحیح داده شد، از لوپ بیاد بیرون ولی انگار توی لوپ گیر کرده- کد من:

 

توی stackoverflow هم پرسیدم، گفتن که این flag با اونی که داخل فانکشن هست فرق میکنه؛ و You typoed falg. 2) You're returning flag, but you're not doing anything with the returned value

 

میشه راهنمایی کنید

flag= True
def pass_checker(password,flag=True):
    # ====================================  
    if len(password)< 8:
        print(' your password is too short')
    elif password.isnumeric():
        print('you have to input an alphabet character at least')
    elif password.isalpha():
        print('you have to input a digit at least')
    else:
        print(' its OK')
        falg = False
        return flag
    # ====================================

while flag:
    password = input('please enter password :  ')
    pass_checker(password)
    
print('the end')
180

1 پاسخ
  • دانیال آذرپناه7 شهريور ۱۴۰۲

    سلام و وقت بخیر. کدتون دو سه تا مشکل داشت که باعث این مشکل شده بود. من کد اصلاح شده رو میفرستم خودتون بررسی کنید متوجه میشید. باز سوالی بود بپرسید

     

    flag = True
    
    
    def pass_checker(password, flag=True):
        # ====================================
        if len(password) < 8:
            print(' your password is too short')
        elif password.isnumeric():
            print('you have to input an alphabet character at least')
        elif password.isalpha():
            print('you have to input a digit at least')
        else:
            print(' its OK')
            flag = False
        return flag
        # ====================================
    
    
    while flag:
        password = input('please enter password :  ')
        flag = pass_checker(password)
    
    print('the end')