编程小白的第一本Python入门书

例1:实现一个清除敏感字并写入文件的功能

#创建文件并写入
def text_create(name,msg):
    desktop_path = 'c:\\Users\\lenovo\\Desktop\\'
    full_path = desktop_path + name + '.txt'
    file = open(full_path,'w')
    file.write(msg)
    file.close()
    print('done')

#清除敏感字
def text_filter(word,censored_word='lame',changed_word='Awesome'):
    return word.replace(censored_word,changed_word)

#main函数
def censored_text_create(name,msg):
    clean_msg = text_filter(msg)
    text_create(name,clean_msg)

censored_text_create('Try','lame!lame!lame!') #censored:受审查的,被删剪的

例2:实现一个登录密码功能

#登录
def account_login():
    password = input('password:')
    if password == '12345':
        print('Login success!')
    else:
        print('Wrong password or invalid input!') #Wrong:错误的,不正确的   invalid:无效的,不能成立的
account_login()
account_login()

例3:改进例2,增加重置密码功能

#登录带重置密码功能
password_list = ['*#*#','12345']
def account_login():
    password = input('Password:')
    password_correct = password == password_list[-1] #correct 正确的,合适的
    password_reset = password == password_list[0]    
    if password_correct:
        print('Login success!')
    elif password_reset:
        new_password = input('Enter a new password:')
        password_list.append(new_password)
        print('Your password has changed successfully!')
        account_login()
    else:
        print('Wrong password or invalid input!')
        account_login()
account_login()

例4:改进例3,增加密码错误3次锁定功能

#登录带重置密码功能
password_list = ['*#*#','12345']
def account_login():
    tries = 3
    while tries > 0: #while-else结构
        password = input('Password:')
        password_correct = password == password_list[-1]
        password_reset = password == password_list[0]
        if password_correct:
            print('Login success!')
        elif password_reset:
            new_password = input('Enter a new password:')
            password_list.append(new_password)
            print('Your password has changed successfully!')
            account_login()
        else:
            print('Wrong password or invalid input!')
            tries = tries - 1
            print(tries,'times left')
    else:
        print('Your account has been suspended') #suspended:暂停
account_login()

例5: 统计文本中的词频

import string

path = 'Walden.txt'

with open(path, 'r') as text:
    words = [raw_word.strip(string.punctuation).lower() for raw_word in text.read().split()]
    # print(string.punctuation) !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
    words_index = set(words)
    counts_dict = {index:words.count(index) for index in words_index}

    for word in sorted(counts_dict,key=lambda x:counts_dict[x],reverse=True):
        print('%s-%s times' %(word, counts_dict[word]))