打卡day08 python基础—函数升级篇

"""
1、不需要file.txt这个文件,只需要知道电脑上桌面的路径
2、第一段代码打开了桌面的file.txt这个文件
3、第二段代码写入'Hello,World',w代表着如果桌面有file.txt这个文件就直接写入Hello,World,如果没有file.txt这个文件就创建一个
"""
file = open('/Users/issuser/Desktop/file.txt','w')
file.write('Hello,World')

打印结果:

# 传入参数name和msg就可以控制在桌面写入的文件名和内容的函数text_creat,并且如果当桌面上没有这个可以写入的文件时,name就要创建一个之后再写入
"""定义函数的名称和参数"""
def text_creat(name,msg):
    """open函数要打开一个完整的路径,所以首先是桌面路径"""
    desk_path = '/Users/issuser/Desktop/'
    """我们给文件起什么名字,就是要传入的参数加上桌面路径再加上后缀就是完整的文件路径"""
    full_path = 'desk_path' + name +'.txt'
    """打开文件,’W‘参数代表作为写入模式,意思是:如果没有就在该路径创建一个有该名称文本,有则追加覆盖文本内容"""
    file = open(full_path,'w')
    """写入传入的参数msg,即内容"""
    file.write(msg)
    """关闭文本"""
    file.close()
    print('Done')

text_creat('hello','Hello World')

 打印结果:

Done

# 关于string的replace方法,需注意replace不会改变原来string的内容
temp_str = 'this is a test'
print(temp_str.replace('is','Is'))
print(temp_str)

打印结果:

thIs Is a test
this is a test

# 定义一个text_filter的函数,传入参数word,cencored_word,changed_word实现过滤,敏感词cencored_word默认为为'hello',替换词changed_word默认为'Awesome'
def text_filter(word,cencored_word='hello',changed_word='World'):
    """直接返回使用replace处理后的结果"""
    # return word
    return word.replace(cencored_word,changed_word)
result = text_filter('Python is hello')
print(result)

打印结果:

Python is World

if.....else 结构的作用:如果....条件是成立的,就做.....;反之,就做....
所谓条件(condition)指的是成立的条件,即是返回值为 True 的布尔表达式
"""定义函数,并不需要参数"""
def account_login():
    """使用input获得用户输入的字符串并储存在变量password中"""
    password = input('请输入密码:')
    """设置条件,如果用户输入的字符串和预设的12345相等时,就执行打印文本“恭喜您登录成功”"""
    if password == '12345':
        print('恭喜您登录成功')
        """反之,一切不等于预设密码的输入结果,全部会执行打印错误提示“密码错误或输入无效”"""
    else:
        print('密码错误或输入无效')
        """再次调佣函数,让用户再次输入密码,运行函数"""
        account_login()
"""调用函数"""
login = account_login()
print(login)

打印结果:

请输入密码:123456
密码错误或输入无效
请输入密码:12345
恭喜您登录成功
None

# if 后面的布尔表达式过长或者难于理解,可以采取给变量赋值的办法来存储布尔表达式返回的布尔值True或False,上面的代码可以改成:
def account_login():
    password = input('请输入密码:')
    correct_password = password =='12345'
    if correct_password:
        print('恭喜您登录成功')
    else:
        print('密码错误或输入无效')
        account_login()

login  = account_login()
print(login)

打印结果:

请输入密码:123456
密码错误或输入无效
请输入密码:12345
恭喜您登录成功
None

 多条件判断只要在if和else之间增加上elif,用法和if是一致的。而且条件的判断是依次执行,首先看条件是否成立,如果成立那么就运行下面的代码,如果不成立接着顺次第看下面的条件是否成立,如果都不成立则运行else对应的语句。

# 使用elif 语句给刚才设计的函数增加一个重置密码的功能
"""创建一个列表,用于存储用户的密码、初始密码和其他数据(对实际数据库的简化模拟)"""
password_list = ['*#*#','12345']
def account_login():
    """使用input获得用户输入的字符串储存在变量password中"""
    password = input('请输入密码:')
    """当用户输入的密码等于密码列表中最后一个元素的时候(即用户最新设定的密码),登录成功"""
    password_correct = password ==password_list[-1]
    """当用户输入的密码等于密码列表中的第一个元素的时候(即重置密码的“口令”)出发密码变更,"""
    password_reset = password ==password_list[0]
    if password_correct:
        print('恭喜您登录成功')
    elif password_reset:
        new_password = input('请输入一个新密码: ')
        """将变更后的密码储存至列表的最后一个,成为最新的用户密码,"""
        password_list.append(new_password)
        print('您的密码重置成功')
        account_login()
        """反之,一切不等于预设密码的输入结果,全部会执行打印错误提示,并再次调用函数,让用户再次输入密码"""
    else:
        print('密码错误或输入无效')
        account_login()
"""调用函数"""
print(account_login())
print(password_list)

打印结果:

请输入密码:3333
密码错误或输入无效
请输入密码:*#*#
请输入一个新密码: 888888
您的密码重置成功
请输入密码:12345
密码错误或输入无效
请输入密码:888888
恭喜您登录成功
None
['*#*#', '12345', '888888']

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值