# 시뮬레이션 블로그 공원 시스템에 코드
#의
# 프로젝트 분석 :
# 1. 첫째, 프로그램이 시작되면, 디스플레이 사용자가 선택을 위해 다음과 같은 내용 :
#
# 1.에
# 2. 등록하십시오
페이지 문서를 # 3. 이동
# 4 댓글을 입력 페이지
일기 페이지에 # 5
콜렉션 페이지 # 6.
# 7. 취소 계정
# 8. 전체 프로그램 종료
# 2. 우리는 기능을 실현해야합니다
#
# 1. 등록 기능 요구 사항을 :
. # A가 사용자 이름과 암호는 파일에 기록 할 수 있습니다.
. # B 사용자 요구 사항 : 당신은 특수 문자를 사용자 이름이 고유한지 확인 할 수 없다.
. # C의 암호 요구 사항 : 6 ~ 14 자 사이의 길이.
#
# 2. 로그인 기능 요구 사항 :
. # 사용자가 사용자 이름과 암호 로그인 인증 들어갑니다.
. # 로그온 또는 액세스를 허용하지 않는 실패 - 7 옵션을 로그온하지 않은 경우 성공적으로 로그인 한 후 B는 3--7 옵션, 방문 3:00에 액세스 할 수 있습니다, 사용자는!에 로그인하라는 메시지가 나타납니다
아직 3 배 이상, 다음 끝내기를 성공하지 않은 # C 로그인. 전체 프로그램.
#
# 3. 이동 기사 페이지의 요구 사항 :
# 프롬프트 환영 기사 페이지를 입력 XX. (xx는 현재 로그인 한 사용자 이름입니다)
#
: # 4. 댓글 페이지 요구 사항 입력
#
주석을 입력 XX #를 프롬프트에 오신 것을 환영 페이지
#
일기 페이지를 입력 # 5. 요구 사항 :
팁 #의 xx는 일기 페이지에 환영.
#
# 6 페이지로 이동 수집 요구 사항 :
컬렉션에 # 프롬프트에 오신 것을 환영합니다 페이지 XX.
#
# 7. 취소 계정 요구 사항 :
# 전체 프로그램을 종료하지,하지만 상태가 (3 ~ 7 옵션에서 방문 때 다시 로그인 필요) 등록되지 않은 상태로 로그인 한
#
# 8. 전체 프로그램 요구 사항을 종료합니다 :
#입니다 프로세스의 끝
오기 hashlib
login_dic = {
: FALSE '상태'
}
S1 = ""# 전역 변수
DEF warpper (FUNC)
DEF 내부 (* 인수 ** kwargs로)
: login_dic [ '상태'] == 참이면
RET FUNC = (* 인수, ** kwargs로)
반환 RET
다른 :
로그인 (* 인수, ** kwargs로)
FUNC (* 인수, ** kwargs로는)
내부를 돌려주는
DEF)을 (yonghuming : # 사용자 이름 확인 기능을
진정한 동안 :
: 입력 = 사용자 이름 ( "이름")
이름의 난에 대한 :
IF하지 i.isalnum () :
인쇄 ( "아니오")
BREAK
다른 :
반환 사용자 이름
DEF의 미마을 () : # 암호 확인 기능
진정한 동안 :
PWD 입력을 = ( " PWD : ")
나는 PWD에 대한 :
. IF (6) <= LEN (PWD) <= 14 :
인쇄 ("OK ")
반환 PWD
다음 다른
"암호를 다시 입력) 인쇄 ( "
DEF zhuce (* 인수, ** kwargs로를)
S2 = yonghuming () # 아이디 호 인증
S3 = 미마 () # 호출 암호 인증
MD5 hashlib.md5 = () # 초기 암호화 템플릿
md5.update (s3.encode ( "UTF-8 "))
m = md5.hexdigest ()
: F 오픈 ( '플래그', 'A +'인코딩 = "UTF-8")와
f.seek (0)
f.write (F '{S2} {m} \ n ")
인쇄 ("注册成功")
DEF 로그인 (인수 *, ** kwargs로)
내지 I (3) :
사용자 이름 1 = 입력 ("이름 ")
pwd1 인 = 입력 ("PWD ")
MD5 hashlib.md5 = () #初始化加密模板
md5.update (pwd1.encode ( "UTF-8"))
(M1) = () md5.hexdigest
열기 ( '플래그', 'R'= "UTF-8"코딩) 등을 가진 F1 :
(F1)에 대한 I :
자명 , PWD = i.strip () 분할 ( ":").
만약 자명 == USERNAME1 및 M1 == PWD :
login_dic [ '상태'] = TRUE
인쇄 ( "로그인 성공")
S1 글로벌
S1 = # 사용자 이름 수정 전역 변수가
S1을 반환
다음 다른 사람
( "사용자 이름 비밀번호 오류") 인쇄를
다른 :
인쇄 ( "약간 잘못 3 회 !!")
@wrapper
DEF blog_wz (S1) :
login_dic [ '상태'IF ] :
( "기사 페이지를 입력 오신 것을 환영합니다 {S1}"F) 인쇄
@wrapper
: DEF blog_pl (S1)
login_dic [ '상태'] IF :
인쇄 (F "에 오신 것을 환영합니다 {S1} 댓글 페이지로 들어갑니다")
@wrapper
DEF blog_rz (S1 )
: login_dic [ '상태'] IF
"페이지로 시작 {S1} 로그"전단 (F)
@wrapper
DEF blog_sc (S1)
login_dic [ '상태'] IF :
전단 (F "는 모음을 입력하기 위해 {S1} 시작 페이지 ")
@wrapper
DEF blog_zx (S1) :
login_dic [ '상태'] IF :
login_dic [ '상태'] = false를
인쇄 ( "계정을 떼인")
MSG = "" "
1, 등록
로그인, 2
(3), 기사 페이지 입력
페이지 주석을 입력, 4
로그 페이지로, 5
6 컬렉션 페이지 입력
7 가까운 계정
제 종료
"" "
DIC1 = {
. '1'zhuce를
'2'가 로그인,
3 '.'blog_wz을
'4.'blog_pl를
5 '.'blog_rz들을
. '6' : blog_sc,
'7.'blog_zx,
8 '.'출구
}
DEF RUN ()
그동안 true를
,되는 my_str = INPUT (MSG)
IF, DIC1의되는 my_str :
IF,되는 my_str == 8 '.'
반환
[되는 my_str (S1)를 dic1
다른 :
( "입력 오류 번호")를 인쇄
된 IF __name__ == '__main__':
RUN ()
파이썬 간단한 시뮬레이션 블로그 공원 시스템
추천
출처www.cnblogs.com/niucunguo/p/12040619.html
추천
행