2017-10-11 121 views
-3

我已经为简单的循环编写了密码检查程序的代码 - 现在我正在尝试使用Python类来执行相同的操作。将代码转换为python类

pwd = raw_input('Please enter the passowrd: ') 

flag_upp = 0 
flag_num = 0 
flag_len = 0 

for i in pwd: 
    if(i.isupper()): 
     flag_upp = 1 
    if(i.isdigit()): 
     flag_num = 1 
if(len(pwd)>7): 
    flag_len = 1 

total_flag = flag_upp + flag_num + flag_len 
flags = [flag_upp,flag_num,flag_len] 
notations = ['Upper case missing','Number missing','Length must be minimum 8 chars'] 

if(total_flag==3): 
    print 'Password is valid!' 
else: 
    print 'Invalid password!' 
    for i in range(0,len(flags)): 
     if(flags[i]==0): 
      print notations[i] 
     else: 
      pass 

如果我使用python类来做这个,应该是什么结构。

+0

我的请求 - 请不要转换代码。请先尝试一下你的结局。把这段代码放在这里,寻求帮助。只要将上面的代码转换为类,将无法长期帮助您。 –

+0

面向对象编程在广阔的概念。谷歌它..了解它...试试吧 –

+1

谢谢 - 我确实尝试并能够创建下面的一个..它的工作 - – Mady

回答

1
class password: 
    def __init__ (self, pwd): #Self is the automatic object 
     self.pwd = pwd 
     print 'password created' 

    def validate(self): 
     flag_upp = 0 
     flag_num = 0 
     flag_len = 0 

     for i in self.pwd: 
      if(i.isupper()): 
       flag_upp = 1 
      if(i.isdigit()): 
       flag_num = 1 
      if(len(self.pwd)>7): 
       flag_len = 1 

     total_flag = flag_upp + flag_num + flag_len 
     flags = [flag_upp,flag_num,flag_len] 
     notations = ['Upper case missing','Number missing','Length must be minimum 8 chars'] 

     if(total_flag==3): 
      print 'Password is valid!' 
     else: 
      print 'Invalid password!' 
      for i in range(0,len(flags)): 
       if(flags[i]==0): 
        print notations[i] 
      # else: 
      # pass 

D = str(raw_input('Password:')) 
p1 = password(D) 
p1.validate()