# 整体进度
# python基础 ——38天 2个月
# 数据库 —— 存储数据和信息用的,本质上和文件没有区别 1-2周
# —— 增删改查更方便了
# 前端 —— 2周
# 框架 —— django 2个月
# linux基础 2周
# 6个月毕业 # python 基础
# 基础数据类型
# 流程控制 —— 条件判断和各种循环
# 为什么要有文件处理(# 文件里存储的是用户名和密码)
# 内存 —— 硬盘
# 函数 —— 两周
# 面向对象和模块 —— 两周
# 网络编程 —— 一周
# 并发编程 —— 一周 # 纪律
# 早默写 —— 坚持
# 下午的时间安排
# 2:30 上自习
# 前半个小时 回忆上课讲了什么
# 3:00 看视频 —— 4:30
# 多动手 敲代码
# 先敲课上的内容 —— 5:00
# 看一遍作业 —— 5:30之前
# 6:30——8:00 写作业
# 8:00 —— 8:30 安排讨论
# 文件处理
# 打开文件
#open('路径','打开方式','指定编码方式')
# 打开方式 r w a r+ w+ a+ b
#r+ 打开文件直接写 和读完再写
# 编码方式 —— utf-8
# 操作文件
# 读
# read 一次性读
# readlines 一次性读
# readline 一行一行读
#不知道在哪儿结束
#视频 图片 rb bytes 按照字节读
# for循环 —— 最好!!!
# 写
# write
# 光标 —— 文件指针
#seek _ 指定光标移动到某个位置
#tell _ 获取光标当前的位置
#truncate _ 截取文件
# 关闭文件
#close # 修改文件
with open('小护士班主任',encoding='utf-8') as f,open('小护士班主任.bak','w',encoding='utf-8') as f2:
for line in f:
if '星儿' in line: #班主任:星儿
line = line.replace('星儿','啊娇')
#写文件
f2.write(line) #小护士:金老板 import os
os.remove('小护士班主任') #删除文件
os.rename('小护士班主任.bak','小护士班主任') #重命名文件
#len
# s = '金老板小护士'
# len(s)
# def my_len(): #自定义函数
# i = 0
# for k in s:
# i += 1
# print(i)
#
# length = my_len()
# print(length)
# 函数
# 定义了之后,可以在任何需要它的地方调用
# 没有返回长度,只是单纯的打印 #返回的重要性
#a,b
#len(a) #内置函数
#len(b) # def my_len(): #自定义函数
# i = 0
# for k in s:
# i += 1
# return i #返回值
#
# length = my_len()
# print(length) #len()
#1.不能变,只能计算s字符串的长度
#2.只是输出了结果 #返回值
#返回值的3种情况
# 没有返回值 —— 返回None
# 不写return
# 只写return:结束一个函数的继续
# return None —— 不常用
# 返回1个值
# 可以返回任何数据类型
# 只要返回就可以接收到
# 如果在一个程序中有多个return,那么只执行第一个
# 返回多个值
# 用多个变量接收:有多少返回值就用多少变量接收
# 用一个变量接收: 得到的是一个元组 # def func():
# l = ['金老板','二哥']
# for i in l:
# print(i)
# if i=='金老板':
# return None
# print('='*10)
# ret = func()
# print(ret) # def func():
# return {'k':'v'}
# print(func()) # def func2():
# return 1,2,3 #return 1,2,3
#
# r= func2()
# print(r) # def my_len(s): #自定义函数只需要0个参数,接收参数,形式参数,形参
# i = 0
# for k in s:
# i += 1
# return i #返回值
#
# ret = my_len('金老板小护士') #传递参数:传参,实际参数,实参
# ret = my_len([1,2,3,4,5]) #传递参数:传参
# print(ret) #什么叫参数?
#参数的语法
#形参和实参的概念 # def f2(l1):
# f1(l1)
# for i in l1:
# print(i)
#
# def f1(l1):
# for i in l1:
# print(i)
#
# f2([1,2,3,4]) #参数
#没有参数
#定义函数和调用函数时括号里都不写内容
#有一个参数
#传什么就是什么
#有多个参数
#位置参数
# def my_sum(a,b):
# print(a,b)
# res = a+b #result
# return res
#
# ret = my_sum(1,2)
# print(ret) #站在实参的角度上:
#按照位置传参
#按照关键字传参
#混着用可以:但是 必须先按照位置传参,再按照关键字传参数
# 不能给同一个变量传多个值 #站在形参的角度上
#位置参数:必须传,且有几个参数就传几个值
#默认参数: 可以不传,如果不传就是用默认的参数,如果传了就用传的
# def classmate(name,sex='男'):
# print('%s : %s'%(name,sex))
#
# classmate('二哥')
# classmate('小孟')
# classmate('大猛')
# classmate('朗哥','女') #只有调用函数的时候
#按照位置传 : 直接写参数的值
#按照关键字: 关键字 = 值 #定义函数的时候:
#位置参数 : 直接定义参数
#默认参数,关键字参数 :参数名 = '默认的值'
#动态参数 : 可以接受任意多个参数
#参数名之前加*,习惯参数名args,
#参数名之前加**,习惯参数名kwargs
#顺序:位置参数,*args,默认参数,**kwargs # def classmate(name,sex):
# print('%s : %s'%(name,sex))
#
# classmate('二哥','男')
# classmate(sex='男',name = '二哥') # def classmate(name,sex='男'):
# print('%s : %s'%(name,sex))
#
# classmate('二哥')
# classmate('朗哥',sex= '女') # def sum(*args):
# n = 0
# for i in args:
# n+=i
# return n
#
# print(sum(1,2))
# print(sum(1,2,3))
# print(sum(1,2,3,4)) # def func(**kwargs):
# print(kwargs)
#
# func(a = 1,b = 2,c =3)
# func(a = 1,b = 2)
# func(a = 1) # 动态参数有两种:可以接受任意个参数
#*args : 接收的是按照位置传参的值,组织成一个元组
#**kwargs: 接受的是按照关键字传参的值,组织成一个字典
#args必须在kwargs之前
# def func(*args,default = 1,**kwargs):
# print(args,kwargs)
#
# func(1,2,3,4,5,default=2,a = 'aaaa',b = 'bbbb',) #动态参数的另一种传参方式
# def func(*args):#站在形参的角度上,给变量加上*,就是组合所有传来的值。
# print(args)
#
# func(1,2,3,4,5)
# l = [1,2,3,4,5]
# func(*l) #站在实参的角度上,给一个序列加上*,就是将这个序列按照顺序打散 # def func(**kwargs):
# print(kwargs)
#
# func(a=1,b=2)
# d = {'a':1,'b':2} #定义一个字典d
# func(**d) #函数的注释
# def func():
# '''
# 这个函数实现了什么功能
# 参数1:
# 参数2:
# :return: 是字符串或者列表的长度
# '''
# pass # 默认参数的陷阱
# 文件的修改
# 函数
#1.函数的定义 def
#2.函数的调用
#3.函数的返回值 return
#4.函数的参数
#形参:
# 位置参数 : 必须传
# *args :可以接收任意多个位置参数
# 默认参数 : 可以不传
# **kwargs : 可以接收多个关键字参数
#实参:按照位置传参,按照关键字传参 #函数
#内置函数
#自定义函数 !!!!!
# li = ['alex','wusir','rain']
# s1 = '*'.join(li)
# print(s1)
#1-2+3-4+5.......+99
sum = 0
for i in range(1,100):
if i % 2 == 0:
sum = sum - i
else:
sum += i #12,使用range打印100,99,98,....1,0(2分) # for i in range(100,-1,-1):
# print(i) # count = 0
# content = input('>>>')
# for i in range(len(content)):
# if i % 2 == 1 and content[i].isdigit():
# count += 1
# print(count)
'''
16,实现一个整数加法计算器:(6分)
如:content = input(‘请输入内容:’) # 如用户输入:5+8+7....(最少输入两个数相加),然后进行分割再进行计算,将最后的计算结果添加到此字典中(替换None):
dic={‘最终计算结果’:None}。 '''
# content = input('请输入内容:') # 5+8+7。。。
# content_list = content.split('+')
# print(content_list)
# sum = 0
# for i in content_list:
# sum = sum + int(i)
# print(sum) # i = '7 '
# print(int(i.strip())) # li = [11,22,33,44,55,77,88,99,90]
# result = {'key1':[],'key2':[]}
# for row in li:
# li = [11,22,33,44,55,77,88,99,90]
# result = {}
# for row in li:
# if row > 66:
# if 'key1' not in result:
# result['key1']=[]
# result['key1'].append(row)
# else:
# if 'key2' not in result:
# result['key2']=[] # result = {'key2':[]}
# result['key2'].append(row)
# print(result) # li = [11,22,33,44,55,77,88,99,90]
# result = {}
# for row in li:
# result.setdefault('key1',[])
# result.setdefault('key2',[])
# if row > 66:
# result['key1'].append(row)
# else:
# result['key2'].append(row)
user_list = [
{'username':'barry','password':'1234'},
{'username':'alex','password':'asdf'},
]
board = ['张三','李小四','王二麻子']
while 1:
username = input('用户名:')
if username.upper() == 'Q':break
password = input('密码:')
for i in board:
if i in username:
username = username.replace(i,'*'*len(i))
user_list.append({'username':username,'password':password})
print({'username':username,'password':password})
print(user_list)
												

d9的更多相关文章

  1. 暑假集训D9总结

    考试 几乎绝望的考试= =,感觉自己啥都打不出来= =,就一道DP打了个贪心,剩下两道骗分,然而竟然排到前一半= =,不可思议= = 真是令人窒息的操作啊= = T1  [bzoj1592] Maki ...

  2. 预科班D9

    2020.09.17星期四 预科班D9 学习内容: 一.列表与字典的嵌套 大前提:将所有同学的信息存起来,取值需求 1.取第二个学生的性别 stus_info = [ {"name" ...

  3. 正式班D9

    2020.10.16星期五 正式班D9 一.vmware workstation的使用 虚拟机管理软件 定义 虚拟机(Virtual Machine)软件是一套特殊的软件,它可以作为操作系统独立运行, ...

  4. 【linux】暂时解决sis m672(神舟F4000 D9) linux驱动 宽屏分辨率的问题?

    1. 首先安装包 sudo apt-get install gcc make binutils git xorg-dev mesa-common-dev libdrm-dev libtool buil ...

  5. 阿里云ECS每天一件事D9:nginx1.7整合tomcat8.0

    仅通过8080端口访问jsp显然不是一算是一个太好的方法,可以使用nginx的proxy_pass子模块,实现nginx转发jsp请求至tomcat. 典型的配置如下: server { listen ...

  6. D9 图论综合题

    1.白银莲花池 LUOGU 2411 第一种思路:当然我们可以写三个bfs a掉这个题,这写下来一二百行要有了吧: 第二种:我们可以在一个bfs中维护所有的信息,一个方向数组,从起点开始,向八个方向扩 ...

  7. Python D9 学习

    Python 设置环境 当安装好Python 后 在计算机的属性里面   高级语言设置  环境变量. 环境变量里面的path  更改为Python的 树目录  可以从计算机直接下达命令 打开Pytho ...

  8. [linux]阿里云主机的免登陆安全SSH配置与思考

    公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...

  9. Gradle 实现 Android 多渠道定制化打包

    Gradle 实现 Android 多渠道定制化打包 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近在项目中遇到需要实现 Apk 多渠道.定制化打包, Google .百度查找了一些资料, ...

随机推荐

  1. V8 下的垃圾回收机制

    V8 实现了准确式 GC,GC 算法采用了分代式垃圾回收机制.因此,V8 将内存(堆)分为新生代和老生代两部分. 1.新生代算法 新生代中的对象一般存活时间较短,使用 Scavenge GC 算法. ...

  2. Jexus 网站服务器和 ASP.NET 跨平台开发

    微软的跨平台战略 微软在过去的一年多中时间中发生了令整个 IT 行业感到惊叹的变化.这一切始于 Ballmer 的退位和 Nadella 的决心,更始于早已在微软各个基层部门蠢蠢欲动的二次创业. 以开 ...

  3. <转>详解C++的模板中typename关键字的用法

    用处1, 用在模板定义里, 标明其后的模板参数是类型参数. 例如: template<typename T, typename Y> T foo(const T& t, const ...

  4. hihocoder第238周:杨氏矩阵的个数

    题目链接 问题描述 给定一个N行M列的矩阵,往里面填入$1-N\times M$个数字,使得这个矩阵每行.每列都满足递增.问:有多少种填法? 问题分析 这个问题很难,如果能够直接想到,那就是天才了. ...

  5. 利用 Express 托管静态文件

    通过 Express 内置的 express.static 可以方便地托管静态文件,例如图片.CSS.JavaScript 文件等. 将静态资源文件所在的目录作为参数传递给 express.stati ...

  6. python 函数的参数的几种类型

    定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了.对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解 ...

  7. vue环境配置脚手架环境搭建vue工程目录

    首先在初始化一个vue项目之前,我们需要下载node.js,并且安装! 下载地址: nodejs.cn/download 安装完成之后,windows+r 运行命令 cmd  输入node -v  检 ...

  8. 【iCore4 双核心板_ARM】例程二:读取ARM按键状态

    实验原理: 按键的一端与STM32 PB9相连,另外一端接地,且PB9外接一个1K电阻大小的上拉电阻, 初始化时把PB9设置成输入模式,当按键弹起时,PB9由于上拉电阻的作用呈高电平(3.3V): 当 ...

  9. 跨控制器跳转view——RedirectToRoute和RedirectToAction

    已知控制器AccountController.cs和HomeController.cs,如果从页面Account/Login直接跳转到Home/Index,可以利用RedirectToRoute和Re ...

  10. Java多线程系列——线程阻塞工具类LockSupport

    简述 LockSupport 是一个非常方便实用的线程阻塞工具,它可以在线程内任意位置让线程阻塞. 和 Thread.suspend()相比,它弥补了由于 resume()在前发生,导致线程无法继续执 ...