心之所有
想学习的可以互相沟通,互相学习,刚开始学。有什么问题可以沟通

导航

 

一、

'''
一、结合函数的返回值编写一本案例
需要用到return关键字返回结果
1、先确定好账号=##   密码=##
2、如果账号等于##,密码=##,返回return后面的值,如果错误,返回return的值,如果有多个返回结果,用token关键字
如果有多个返回结果,用token关键字
如果token等于成功登陆,进入界面,如果失败,输出 重新登陆
最后输出结果
'''
def user(username='chen',passwork='xin'):
if username=='chen' and passwork=='xin':
return '登陆成功'
else:
return '登陆失败'
def name(token):
if token=='登陆成功':
print('进入界面')
else:
print('请登录')

if __name__ == '__main__':
name(token=user())

执行以上代码,输出结果:

二、

'''
二、在一个Python的文件中,当全局变量名称与局部变量名称一致的时候,在Python文件中调用,那个优先级高?在函数内部,那个优先级高?
   1、全局变量名称与局部变量名称一致的时候,在Python文件中调用,全局变量优先级高
   2、全局变量名称与局部变量名称一致的时候,在函数内部调用,局部变量优先级高
思路:先创建一个变量,之后在函数的的内部创建一个相同的变量,运行
'''
name='username'
def fun():
    name='username,work'
    print(name)

if __name__ == '__main__':
    fun()
 

执行以上代码,输出结果为:

三、

#三、、结合hashlib编写一个md5的加密的案例
'''思路:先导入hashlib库,再导入urllib库中的parse关键字,
1,先创建一个字典
2、用字典中的sorted关键字对字典进行acll的排序
3、把排序后的字典处理成key-value的形式
4、用关键字hashlib进行md5加密
5、换算成编码的方式
6、返回值为编码的的字符串方式
7、输入结果
'''
import hashlib
from urllib import parse

def nameMd5():
dict0={'name':'chen','age':100,'adderss':'beijing'}
datas=dict(sorted(dict0.items(),key=lambda item:item[0]))
datas=parse.urlencode(datas)

i=hashlib.md5()
i.update(datas.encode('utf-8'))
return i.hexdigest()

if __name__ == '__main__':
print(nameMd5())
 

  执行以上代码,输出结果为:

   

 

 

 四、

 

#四、对字典dict1={"name":"wuya","age":18,"work":"测试工程师","salary":1990}进行ascll码的排序
#1、排序的时候用到sored关键字排序,排序的时候按照首字母的顺序排列

dict1={"name":"wuya","age":18,"work":"测试工程师","salary":1990}
print(dict(sorted(dict1.items(),key=lambda item:item[0])))

执行以上代码,,执行结果为:

 

 

 五、

#列表lists=["Go","Pyhton","Java","Net"]进行循环输出
#需要用到for循环列表的对象进行循环输入
lists=["Go","Pyhton","Java","Net"]
def lieBiao():
    for item in lists:
        print(item)
if __name__ == '__main__':
 lieBiao()

执行以上代码,执行结果为:

 

 

 六、

#列表里面添加新的元素,会使用到哪些方法,结合案例代码来举例
#往列表 里面添加有两种方法,第一个是append(在最后添加),第二个是insert(按照搜索引添加)
list1=[34,54,65,7687,43]
print(list1.append(100))
print(list1)

print(list1.insert(3,'go'))
print(list1)

执行以上代码,结果为:

 

 

 七、

'''七、列表与元组的区别是什么?

1、列表:
1、列表是存储数据的
2、列表是可变化的:增删改查
元组:
1、不改变
2、不能增加和删除元组里面的内容
区别:列表是可变化的,元组是不可变的
'''

八、

#八、break怎么理解?结合案例代码说明
#思路,break时停止循环的意思
str1="打死都考了多少"
while True:
    for item in str1:
        print(item)
    break

执行以上代码,输出结果为:

 

 

 九、

#continue怎么理解?结合案例代码说明
#continue是继续的意思 :如
while True:
    cooerss=int(input("输入年龄:\n"))
    if cooerss<10:
        print('表示儿童')
        continue
    elif cooerss>=10 and cooerss<25:
        print("表示少年")
        continue
    elif cooerss>=25 and cooerss<50:
        print("表示中年")
        continue
    else:
        print('未知')
        break

执行以上代码,输出结果为:

 

 

 十、

'''十、结合函数形式,编写一个登录注册的案例
1、首先,创建一个函数名,在变量名称填写登陆、注册、退出,并写上对应的序号,如,如果变量的名称是1,所对应的是登陆,如果名称是2,对应的是注册,如果是3对应的是退出,如果不是请继续
2、先注册,账户和密码,用with  和w   的方式清空并写入新的内容
3、登陆,用with和r的方式里面的内容读取出来,绕后用|划分开,以索引的方式填写账号,后填写密码,如果照顾好和密码正确,输出登陆,如果错误,输出”请重新登陆“'''
#结合函数形式,编写一个登录注册的案例
import sys


def denglu():
username=input('输入账号:\n')
password=input('数入密码:\n')
with open('chen.tst','r') as d:
userInfo=d.read()
lists=userInfo.split('|')
if lists[0]==username and lists[1]==password:
print('登陆')
else:
print('输入账号密码错误')


def zhuce():
username=input('输入账号:\n')
password=input('输入密码:\n')
temp=username+'|'+password
with open('chen.tst','w') as d:
d.write(temp)


def fun():
while True:
try:
c=int(input("1、登陆,2、注册,3、退出:\n"))
if c==1:
denglu()
elif c==2:
zhuce()
elif c==3:
sys.exit()
else:continue
except Exception as x:
continue
if __name__ == '__main__':
fun()
 

 执行以上代码,输出结果为:

 

 

 十一、


'''十一、怎么理解序列化和反序列化?结合案例说明
1、首先,创建一个函数名,在变量名称填写登陆、注册、退出,并写上对应的序号,如,如果变量的名称是1,所对应的是登陆,如果名称是2,对应的是注册,如果是3对应的是退出,如果不是请继续
2、先注册,账户和密码,用序列化的方式把账号和密码写进去,
3、登陆,用反序列化的方式把文件里面的内容读取出来,绕后用|划分开,以索引的方式填写账号,后填写密码,如果照顾好和密码正确,输出登陆,如果错误,输出”请重新登陆“'''
import sys
import json

def out():
username= input('输入账号:\n')
password= input('数入密码:\n')
return username,password

def denglu():
username,password=out()
userword=json.load(open('chen.txt'))
lists=userword.split('|')
print('ok:',lists)
if lists[0]==username and lists[1]==password:
print('登陆')
else:
print('输入账号密码错误')


def zhuce():
username,password=out()
temp=username+'|'+password
json.dump(temp,open('chen.txt','w'))


def fun():
while True:
try:
c=int(input("1、登陆,2、注册,3、退出:\n"))
if c==1:
denglu()
elif c==2:
zhuce()
elif c==3:
sys.exit()
else:continue
except Exception as x:
continue

if __name__ == '__main__':
fun()
 

执行以上代码,输出结果:

 

 

 

十二、

'''十二:怎么理解针对文件的序列化和反序列化
1、反序列化就是读取文件里面的内容,用到   =json.dump()
2、序列化就是把内容写道文件里面去,json.dump(temp ,op())
3、反序列化是在函数外面输出,序列化是在函数里面输出'''
import json

def work():
    name='Holle chen'
    json.dump(name,open('ccct.tet','w'))
    name=json.load(open('ccct.tet'))
    print(name)



if __name__ == '__main__':

  work()

执行以上代码,输出结果为:

 

 

 

十三、

#举例说名os模块对路径的处理
import os

print('查看路径的方法:',os.__all__)
print('获取绝对路径:',os.path.abspath('c/Users'))
print('对路径分割:',os.path.split('c/Users'))
print('判断是不是目录:',os.path.isdir('c/Users'))
print('获取当前路径:',os.path.dirname(__file__))
print('获取当前路径的上一级路径:',os.path.dirname(os.path.dirname(__file__)))
print('获取当前路径的上上级路径:',os.path.dirname(os.path.dirname(os.path.dirname(__file__))))

base_dir=os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
#获取logout的路径
print(os.path.join(base_dir,'函数','logout'))
执行以上代码,结果如下:

查看路径的方法: ['altsep', 'curdir', 'pardir', 'sep', 'pathsep', 'linesep', 'defpath', 'name', 'path', 'devnull', 'SEEK_SET', 'SEEK_CUR', 'SEEK_END', 'fsencode', 'fsdecode', 'get_exec_path', 'fdopen', 'popen', 'extsep', '_exit', 'DirEntry', 'F_OK', 'O_APPEND', 'O_BINARY', 'O_CREAT', 'O_EXCL', 'O_NOINHERIT', 'O_RANDOM', 'O_RDONLY', 'O_RDWR', 'O_SEQUENTIAL', 'O_SHORT_LIVED', 'O_TEMPORARY', 'O_TEXT', 'O_TRUNC', 'O_WRONLY', 'P_DETACH', 'P_NOWAIT', 'P_NOWAITO', 'P_OVERLAY', 'P_WAIT', 'R_OK', 'TMP_MAX', 'W_OK', 'X_OK', 'abort', 'access', 'chdir', 'chmod', 'close', 'closerange', 'cpu_count', 'device_encoding', 'dup', 'dup2', 'environ', 'error', 'execv', 'execve', 'fspath', 'fstat', 'fsync', 'ftruncate', 'get_handle_inheritable', 'get_inheritable', 'get_terminal_size', 'getcwd', 'getcwdb', 'getlogin', 'getpid', 'getppid', 'isatty', 'kill', 'link', 'listdir', 'lseek', 'lstat', 'mkdir', 'open', 'pipe', 'putenv', 'read', 'readlink', 'remove', 'rename', 'replace', 'rmdir', 'scandir', 'set_handle_inheritable', 'set_inheritable', 'spawnv', 'spawnve', 'startfile', 'stat', 'stat_result', 'statvfs_result', 'strerror', 'symlink', 'system', 'terminal_size', 'times', 'times_result', 'truncate', 'umask', 'uname_result', 'unlink', 'unsetenv', 'urandom', 'utime', 'waitpid', 'waitstatus_to_exitcode', 'write', 'makedirs', 'removedirs', 'renames', 'walk', 'execl', 'execle', 'execlp', 'execlpe', 'execvp', 'execvpe', 'getenv', 'supports_bytes_environ', 'spawnl', 'spawnle'] 获取绝对路径: C:\Users\Administrator.lwp-PC\PycharmProjects\untitled\函数\c\Users 对路径分割: ('c', 'Users') 判断是不是目录: False 获取当前路径: C:\Users\Administrator.lwp-PC\PycharmProjects\untitled\函数 获取当前路径的上一级路径: C:\Users\Administrator.lwp-PC\PycharmProjects\untitled 获取当前路径的上上级路径: C:\Users\Administrator.lwp-PC\PycharmProjects C:\Users\Administrator.lwp-PC\PycharmProjects\函数\logout Process finished with exit code 0

十四、

#使用datetime的模块,在当前时间基础上增加10天
#思路:先要导入datetime和time,根据要加的天数添加

import datetime import time #在当前基础时间添加10天 print(datetime.datetime.now()+datetime.timedelta(days=10))

执行以上代码,输出结果为:

 

 

 十五、

'''十五、举例说明函数的动态参数的应用
1、当函数类型不确定的时候或者数据个数不确定的时候使用动态参数
2、使用*确定是哪种数据类型,*是元组,**是字典,可以查看数据类型
3、后面 确定好数据类型后,可以对进行添加的数据判断是那个数据类型,如:'''

def age(*args,**kwargs):
    print(args)
    print(type(args))
    print(kwargs)
    print(type(kwargs))

age((1,2,34,56,89),name='xin',age='89')

if __name__ == '__main__':

 age()

执行以上代码,结果为:

 

posted on 2021-07-02 20:24  橙橙的橙  阅读(35)  评论(0编辑  收藏  举报